仅将woocommerce优惠券应用于购物车总额,而不适用于税线

时间:2018-07-10 12:30:14

标签: wordpress woocommerce

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

我只希望优惠券代码适用于购物车总额。我已经在Google中搜索了相关的挂钩或插件,但找不到有效的解决方案。

这是我当前在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;
}

我也尝试过woocommerce_cart_calculate_fees钩子,但是没有用。

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

1 个答案:

答案 0 :(得分: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();
        }
    }
}

希望这会有所帮助!