我目前正在为 woocommerce 开发一个插件,并且如果购物车的总数介于 2 个值之间,则具有以下代码添加折扣代码:
add_action('woocommerce_before_cart', 'woobd_add_discount_if_enabled');
function woobd_add_discount_if_enabled()
{
global $woocommerce;
if ($woocommerce->cart->cart_contents_total >= 10
&& $woocommerce->cart->cart_contents_total <= 100
) {
$woocommerce->cart->add_discount('layer1_discount');
} else {
$woocommerce->cart->remove_coupons('layer1_discount');
$woocommerce->cart->calculate_totals();
}
}
上面的工作正常,但是我想添加另一个像这样的 if 语句,它增加了另外 2 个值:
add_action('woocommerce_before_cart', 'woobd_add_discount_if_enabled');
function woobd_add_discount_if_enabled()
{
global $woocommerce;
if ($woocommerce->cart->cart_contents_total >= 10
&& $woocommerce->cart->cart_contents_total <= 100
) {
$woocommerce->cart->add_discount('layer1_discount');
} else {
$woocommerce->cart->remove_coupons('layer1_discount');
$woocommerce->cart->calculate_totals();
}
if ($woocommerce->cart->cart_contents_total >= 100
&& $woocommerce->cart->cart_contents_total <= 200
) {
$woocommerce->cart->add_discount('layer2_discount');
} else {
$woocommerce->cart->remove_coupons('layer2_discount');
$woocommerce->cart->calculate_totals();
}
}
由于某种原因,仅检测到第二个 if 语句,而完全忽略了第一个。以上有什么明显的错误吗?