首页 文章

如何在钩子中访问WooCommerce自定义计费字段

提问于
浏览
3

我正在编写一个自定义WordPress功能,当客户从选择菜单更改“状态”字段时,该功能将更改flat_rate运输 . 目前我在我的主题的functions.php中这样做

我创建了一个自定义字段,将“状态”字段表示为计费字段中的下拉菜单 . 我使用“WooCommerce Checkout Manager”插件来设置自定义字段并禁用默认的“State”字段 .

现在我想根据自定义“状态”字段的值更改运费 . 我无法检索该字段的数据 . 此外,我想知道一旦该字段的值发生变化,我可以用什么钩子来改变统一费率 .

我已经使用过这个过滤器钩子(woocommerce_package_rates)而且它不起作用 .

这是我的代码,我从另一个教程得到它然后进行自定义

function wc_ninja_change_flat_rates_cost( $rates, $package ) {
$destination = $package['destination'];
$city = $destination['myfield12']; // getting the city field value

// Make sure flat rate is available

if ( isset( $rates['flat_rate'] ) ) {

    if ( $city == 'Alex' || $city == 'الإسكندرية' ) {
        // Set flat rate to cost $10 more
        $rates['flat_rate']->cost = 30;
    }
    else {
        $rates['flat_rate']->cost = 20;
    }
}

return $rates;
}
add_filter( 'woocommerce_package_rates', 'wc_ninja_change_flat_rates_cost', 10, 2 );

1 回答

相关问题