仅将woocommerce优惠券应用于购物车总数,而不是税务线

Ash*_*tel 7 wordpress woocommerce

我正在WooCommerce网站上工作.当我在结帐页面上应用优惠券时,它也会自动应用于税收.

我只希望优惠券代码适用于购物车总数.我通过谷歌搜索了一个相关的钩子或插件,但找不到有效的解决方案.

这是我当前的代码钩子functions.php,但它没有按预期工作.

add_action('woocommerce_product_tax_class', 'set_tax_class');
function set_tax_class () { 
    if (!empty($woocommerce->cart->applied_coupons)){
        $tax_class = 'gratuty';
    }
    return $tax_class;
}
Run Code Online (Sandbox Code Playgroud)

我也尝试了woocommerce_cart_calculate_fees钩子,但它没有用.

在应用优惠券时,我应该使用哪个挂钩更新购物车,而不更改税金?

小智 0

我相信您必须在 WooCommerce >> 设置 >> 税收中查看税收。在此,您必须选中“否,我将输入不含税的价格”复选框。

另外,请查看以下链接以了解有关税收的更多信息: https: //github.com/woocommerce/woocommerce/wiki/How-Taxes-Work-in-WooCommerce

或者除此之外,您还可以理解此代码以编程方式应用优惠券:

function apply_matched_coupons(){
    $coupon_code = 'freeweek'; 
    if ( WC()->cart->has_discount( $coupon_code ) ) return;     
    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
        // this is your product ID
        $autocoupon = array( 40 );
        if( in_array( $cart_item['product_id'], $autocoupon ) ) {   
            WC()->cart->add_discount( $coupon_code );
            wc_print_notices();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!