【发布时间】:2019-04-03 19:06:13
【问题描述】:
在 Woocommerce 中,我使用费用 API 向购物车添加了额外的运费。
我的代码是:
add_action( 'woocommerce_cart_calculate_fees', 'pt_add_handling_fee' );
function pt_add_handling_fee() {
$title = 'Maggiorazione Isole & Calabria';
global $woocommerce;
$peso_totale = $woocommerce->cart->cart_contents_weight;
$provincia = $woocommerce->customer->get_shipping_state();
// echo 'weight'.$woocommerce->cart->cart_contents_weight;
// echo 'price'.$woocommerce->cart->subtotal;
// Maggiorazione 5€ ogni 100kg per la Sardegna
if ($peso_totale > 99 && ($provincia == "CA" or $provincia == "NU")) {
$fee = $peso_totale / 100 * 5;
}
// Maggiorazione 3€ ogni 100kg per la Sicilia
if ($peso_totale > 99 && ($provincia == "AG" or $provincia == "CL")) {
$fee = $peso_totale / 100 * 3;
}
// Maggiorazione 2€ ogni 100kg per la Calabria
if ($peso_totale > 99 && ($provincia == "CZ" or $provincia == "CS")) {
$fee = $peso_totale / 100 * 2;
}
$woocommerce->cart->add_fee( $title, $fee, TRUE, 'standard' );
}
所以如果总重量超过 99 公斤,我会对某些省份收取附加费。
但问题是,对于其他省份,费用仍然是“0€”。
当购物车总重量超过 99 公斤时,如何使此费用仅适用于定义的省份?
有可能吗?任何帮助表示赞赏。
【问题讨论】:
-
这不清楚,这行简单的代码还不够……所以请使用你的整个钩子函数,更好地解释那个值是多少?没有人能猜到你在想什么。
标签: php woocommerce hide cart fee