Чтобы это сработало, вам лучше нацелиться на WC_Product
метод get_tax_class()
через выделенные связанные составные хуки, таким образом:
add_filter('woocommerce_product_get_tax_class', 'switch_product_tax_class', 100, 2 );
add_filter('woocommerce_product_variation_get_tax_class', 'switch_product_tax_class', 100, 2 );
function switch_product_tax_class( $tax_class, $product ){
if( isset($_COOKIE["customerType"]) && $_COOKIE["customerType"] == 'business' ){
return "Zero Rate";
}
return $tax_class;
}
Код помещается в файл functions.php вашей активной дочерней темы (или активной темы). Проверено и работает.
На основе свойства WC_Customer
is_vat_exempt
вы также можете попробовать использовать следующее:
add_action( 'template_redirect', 'vat_exempt_b2b_customers' );
function vat_exempt_b2b_customers() {
if( isset($_COOKIE["customerType"]) && $_COOKIE["customerType"] === 'business'
&& ! WC()->customer->is_vat_exempt() ){
WC()->customer->set_is_vat_exempt( true );
}
}
Код помещается в файл functions.php вашей активной дочерней темы (или активной темы).