2014-09-22 70 views
0

我想对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(); 
} 

} 

}

回答

0

您应该将这些条件语句合并成一个,全面发言:

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(); 
     } 
    } 
} 
+0

请看到这个画面拍摄。 http://imgur.com/Nid02c7 – craig 2014-09-22 09:04:06

+0

问题是,在12以下的数量减少后,它不会更新总量并给予20%的折扣。 如果我们在更改12个以下的数量后第一次点击更新按钮,那么它不会更新总价格,但如果我们再次点击更新购物车按钮,那么它会显示正确的总数。 – craig 2014-09-22 09:18:24

相关问题