根据Woocommerce中的购物车商品自动应用/删除优惠券代码

时间:2019-03-26 17:51:01

标签: php wordpress woocommerce cart coupon

如果购物车至少有2件商品,我想将优惠券代码应用于购物车。如果没有,则优惠券将不适用,并显示更改消息;如果已应用,则将显示成功消息,这是我尝试不按我想要的方式工作的代码

inputfd

欢迎任何帮助。

2 个答案:

答案 0 :(得分:1)

尝试以下操作:

add_action( 'woocommerce_before_calculate_totals', 'auto_apply_coupon_conditionally', 10, 1 );
function auto_apply_coupon_conditionally( $cart ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 )
        return;

    $coupon_code = 'summer'; // HERE set the coupon code (in lowercase)
    $applied     = in_array( $coupon_code, $cart->get_applied_coupons() ) ? true : false;
    $item_count  = sizeof( $cart->get_cart() );
    $total_item  = 0;

    // Remove coupon
    if ( $item_count < 2 && $applied ) {
        $cart->remove_coupon( $coupon_code );
        wc_clear_notices();
        wc_add_notice( __('You have only 1 item in cart'), 'error');
    }
    // Add coupon
    elseif ( $item_count >= 2 && ! $applied ) {
        $cart->apply_coupon( $coupon_code );
        wc_clear_notices();
        wc_add_notice( __('A coupon has been added'), 'notice' );
    }
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试并有效

答案 1 :(得分:0)

请使用实现自动优惠券功能的"Smart Coupon For Woocommerce"插件

请在svn存储库中引用此code