我正在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
钩子,但是没有用。
在应用优惠券时,我应该使用哪个挂钩来更新购物车,而无需更改税金?
答案 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();
}
}
}
希望这会有所帮助!