我已经通过以下代码在商店页面和购物车页面为批发客户申请了“零利率”税级 -
function zero_rate_for_custom_user_role( $tax_class, $product ) {
// Getting the current user
$current_user = wp_get_current_user();
$current_user_data = get_userdata($current_user->ID);
if ( in_array( 'wholesale_customer', $current_user_data->roles ) )
$tax_class = 'Zero Rate';
return $tax_class;
}
add_filter( 'woocommerce_product_tax_class', 'zero_rate_for_custom_user_role', 1, 2 );
它适用于简单的产品,但可变产品的最低和最高价格仍显示包含在内的税价。
请给我解决方案如何排除税或对变量产品应用“零利率”。
作为参考,我尝试了此解决方案,但没有效果。
function woocommerce_variation_prices_hash($price_hash, $product, $display) {
if ( $display )
$price_hash[] = $product->get_tax_class();
return $price_hash;
}
add_filter( 'woocommerce_get_variation_prices_hash', 'woocommerce_variation_prices_hash', 10, 3 );
答案 0 :(得分:0)
Woocommerce弃用此钩子。检查下面的钩子,让我知道。
public function eh_diff_rate_for_user( $tax_class, $product ) {
// Getting the current user
$current_user = wp_get_current_user();
$current_user_data = get_userdata($current_user->ID);
if ( in_array( 'administrator', $current_user_data->roles ) || in_array( 'reseller', $current_user_data->roles ) )
$tax_class = 'Zero Rate';
return $tax_class;
}
(WC()->version < '2.7.0') ? add_filter( 'woocommerce_product_tax_class', array($this,'eh_diff_rate_for_user'), 1, 2 ) : add_filter( 'woocommerce_product_get_tax_class', array($this,'eh_diff_rate_for_user'), 1, 2 ) ;