Php 首次单击购物车页面上的更新购物车按钮后,不会删除优惠券代码
我想对12数量申请折扣,并删除12数量以下的折扣。 我已经为20%折扣“genew”创建了一个优惠券代码。当有人点击购物车页面上的更新购物车按钮时,我在上应用并删除了优惠券代码。删除优惠券代码功能仅在有人点击更新购物车按钮两次时有效。第一次单击它不会删除优惠券代码 下面是我在function.php中使用的函数Php 首次单击购物车页面上的更新购物车按钮后,不会删除优惠券代码,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我想对12数量申请折扣,并删除12数量以下的折扣。 我已经为20%折扣“genew”创建了一个优惠券代码。当有人点击购物车页面上的更新购物车按钮时,我在上应用并删除了优惠券代码。删除优惠券代码功能仅在有人点击更新购物车按钮两次时有效。第一次单击它不会删除优惠券代码 下面是我在function.php中使用的函数 add_action('woocommerce_before_cart_table', 'discount_coupon'); function discount_coupon() {
add_action('woocommerce_before_cart_table', 'discount_coupon');
function discount_coupon() {
global $woocommerce;
global $count_cart_quantity;
if ( $count_cart_quantity >= 12 ) {
$coupon_code = 'genew';
if (!$woocommerce->cart->add_discount(sanitize_text_field($coupon_code))) {
$woocommerce->show_messages();
}
}
if ( $count_cart_quantity < 12 && $count_cart_quantity > 1 ) {
$coupon_code = 'genew';
if (!$woocommerce->cart->remove_coupons(sanitize_text_field($coupon_code))) {
$woocommerce->show_messages();
}
}
}您应该将这些条件语句组合成一个全面的语句:
add_action('woocommerce_before_cart_table', 'discount_coupon');
function discount_coupon() {
global $woocommerce;
global $count_cart_quantity;
$coupon_code = 'genew';
if ( $count_cart_quantity >= 12 ) {
if (!$woocommerce->cart->add_discount(sanitize_text_field($coupon_code))) {
$woocommerce->show_messages();
}
}
elseif ( $count_cart_quantity < 12 && $count_cart_quantity > 1 ) {
if (!$woocommerce->cart->remove_coupons(sanitize_text_field($coupon_code))) {
$woocommerce->show_messages();
}
}
}
问题是,在数量减少到12%以下之后,它并没有更新总量,并给予20%的折扣。如果我们在将数量更改为12以下后第一次单击“更新”按钮,则不会更新总价,但如果我们第二次单击“更新购物车”按钮,则会显示正确的总价。