Woocommerce:限制周末使用优惠券-使用多个优惠券

时间:2019-06-11 10:37:32

标签: php wordpress woocommerce coupon woocommerce-bookings

我需要基于使用预订的日期(而不是生成预订的日期)限制使用此优惠券。

我从LoicTheAztec那里找到了一段很棒的代码,它确实做到了这一点,但是我不知道如何添加更多的优惠券(而不只是一个“ abcxxr”?)

// Utility function to check coupon code 'abcxxr'
function check_coupon_code( $coupon ){
    // Set HERE your coupon slug
    $coupon_code_wd = 'abcxxr';

    $coupon_code = strtolower($coupon->get_code()); // WC 3.0+
    $coupon_code_wd = strtolower($coupon_code_wd);
    $found = false;

    // Loop through cart items to get the chosen day and check it
    foreach( WC()->cart->get_cart() as $cart_item ){
        if( $coupon_code_wd == $coupon_code && isset( $cart_item['booking']['_date'] ) ){
            $the_day = date('D' , strtotime($cart_item['booking']['_date']));
            if( in_array( $the_day, array('Sat', 'Sun') ) ){
                $found = true;
            }
        }
    }
    return $found;
}

// Coupon validity checking
add_filter( 'woocommerce_coupon_is_valid', 'coupon_week_days_check', 10, 2);
function coupon_week_days_check( $valid, $coupon ) {
    if( check_coupon_code( $coupon ) ){
        $valid = false;
    }
    return $valid;
}

// Coupon validity checking error message
add_filter('woocommerce_coupon_error', 'coupon_week_days_error_message', 10, 3);
function coupon_week_days_error_message( $err, $err_code, $coupon ) {
    if( intval($err_code) === WC_COUPON::E_WC_COUPON_INVALID_FILTERED && check_coupon_code( $coupon ) ) {
        $err = __( "This coupon $coupon_code_wd is valid for week days only…", "woocommerce" );
    }
    return $err;
}

可以修改此代码,以便我可以添加更多受限制的优惠券代码(最好是4-5)吗? 谢谢,非常感谢您的帮助!

0 个答案:

没有答案