Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 首次单击购物车页面上的更新购物车按钮后,不会删除优惠券代码_Php_Wordpress_Woocommerce - Fatal编程技术网

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() {

我想对12数量申请折扣,并删除12数量以下的折扣。 我已经为20%折扣“genew”创建了一个优惠券代码。当有人点击购物车页面上的更新购物车按钮时,我在上应用并删除了优惠券代码。删除优惠券代码功能仅在有人点击更新购物车按钮两次时有效。第一次单击它不会删除优惠券代码

下面是我在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();
        }
    }
}

问题是,在数量减少到12%以下之后,它并没有更新总量,并给予20%的折扣。如果我们在将数量更改为12以下后第一次单击“更新”按钮,则不会更新总价,但如果我们第二次单击“更新购物车”按钮,则会显示正确的总价。