当特定类别不在购物车中时,我正在尝试删除所有已应用的优惠券代码,但是我似乎无法使其正常工作。有人知道为什么它不起作用吗?优惠券仅保留在购物车中,并且折扣仍然适用,当特定类别不在购物车中时,应将其全部删除。
我缺少明显的东西吗?
我已经用$ woocommerce更新了它。
谢谢!
add_action('woocommerce_before_cart', 'check_category_in_cart');
function check_category_in_cart() {
global $woocommerce;
$cat_in_cart = false;
foreach ($woocommerce->cart->get_cart() as $cart_item_key => $cart_item ) {
if ( has_term( 'tickets', 'product_cat', $cart_item['product_id'] ) ) {
$cat_in_cart = true;
break;
}
}
if (!$cat_in_cart) {
$applied_coupons = $woocommerce->cart->get_applied_coupons();
if (count($applied_coupons) > 0) {
$woocommerce->cart->remove_coupons();
}
}
}