首次点击购物车页面上的更新购物车按钮后,优惠码不会被删除woocommerce
问题描述:
我想对12(数量)应用折扣,并取消低于12(数量)的折扣。 我已经创建了一个优惠券代码,可享受20%折扣('genew')。当点击购物车页面上的更新购物车按钮(woo-commerce)时,我申请并取消了优惠券代码。取消优惠券代码功能仅在有人点击两次更新购物车按钮时才有效。首先点击一下就不会删除优惠券代码。首次点击购物车页面上的更新购物车按钮后,优惠码不会被删除woocommerce
这里是我正在使用function.php功能
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();
}
}
}
请看到这个画面拍摄。 http://imgur.com/Nid02c7 – craig 2014-09-22 09:04:06
问题是,在12以下的数量减少后,它不会更新总量并给予20%的折扣。 如果我们在更改12个以下的数量后第一次点击更新按钮,那么它不会更新总价格,但如果我们再次点击更新购物车按钮,那么它会显示正确的总数。 – craig 2014-09-22 09:18:24