Woocommerce折扣,如果购物车有产品

Woocommerce discounts if cart has products

提问人:Yoeri Achterbergen 提问时间:9/27/2019 更新时间:9/27/2019 访问量:65

问:

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

我在标准 Woocommerce 插件中尝试了不同的东西,但这不起作用。

有人可以帮助我吗?

WooCommerce商务

评论


答:

1赞 itzmekhokan 9/27/2019 #1

在活动主题的函数 .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 和优惠券代码。

评论

0赞 Yoeri Achterbergen 9/28/2019
Thnx 这:)有效,但如果人们知道优惠券代码,他们就可以打折。我在哪里可以保护只有这 3 个一起有折扣?
0赞 itzmekhokan 9/28/2019
@YoeriAchterbergen,在这种情况下,每次您都必须动态创建一次性优惠券代码并将该优惠券代码传递到上述功能上以申请这些产品。对于创建优惠券,您可以点击此链接并确保仅更改一次使用。你能接受别人会觉得有用的答案吗?update_post_meta( $new_coupon_id, 'individual_use', 'yes' );