如果使用优惠券,WooCommerce将加收费用

时间:2018-11-11 19:36:01

标签: woocommerce coupon fee

如果将指定的优惠券代码(100%折扣)应用于购物车,我希望能够添加固定的20美元费用。该费用也应免税。我提供了20美元的上门服务,因此,一定的优惠券会使购物车和所有产品的折扣为100%,但会增加20美元的固定费用。任何帮助深表感谢!

JC

1 个答案:

答案 0 :(得分:0)

如果已将特定优惠券代码应用于购物车,则以下代码将收取$20的费用:

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

    // HERE set your targeted coupon code (100 % off)
    $coupon_code = 'thatsforfree';

    // Check if our targeted coupon is applied
    if( in_array( wc_format_coupon_code( $coupon_code ), $cart->get_applied_coupons() ) ){
        $title = __('Fee', 'woocommerce'); // The fee title
        $cost  = 20; // The fee amount

        // Adding the fee (not taxable)
        $cart->add_fee( $title, $cost, false );
    }
}

代码进入您的活动子主题(活动主题)的function.php文件中。经过测试,可以正常工作。

购物车和结帐页面中的显示 (以Woocommerce店面为主题)

enter image description here

  

此代码使用Woocommerce FEE API,该API使用WC_Cart method add_fee()和专用动作挂钩woocommerce_cart_calculate_fees