如果购物车有商品,Woocommerce会打折

时间:2019-09-27 10:02:47

标签: woocommerce

如果购物车有3种特定产品,是否可以选择创建优惠券折扣?

我在标准的Woocommerce插件中尝试了其他操作,但这不起作用。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

在活动主题的functions.php中添加以下代码片段以完成上述操作-

function apply_discount_in_woocommerce_cart() {
    $coupon_code = 'abc'; 
    if ( WC()->cart->has_discount( $coupon_code ) ) return;

    $specific_products = array( 12, 13, 14 ); // Assume 3 products ids
    $all_products_count = 0;
    foreach ( $specific_products as $product_id ) {
        $product_cart_id = WC()->cart->generate_cart_id( $product_id );
        $in_cart = WC()->cart->find_product_in_cart( $product_cart_id );
        if ( $in_cart ) {
            $all_products_count++;
        }
    }
    // check all products count equals to 3 on not
    if( $all_products_count === 3 ) {
        WC()->cart->add_discount( $coupon_code );
        wc_print_notices();
    }
}
add_action( 'woocommerce_before_cart', 'apply_discount_in_woocommerce_cart', 99 );

请不要忘记将阵列中的虚拟产品ID替换为您的特定产品ID和优惠券代码。