我目前正在尝试对WooCommerce中的产品和运输实施一些动态税收。到目前为止,我已经使用了这种方法: WooCommerce Documentation on Tax Classes and User Roles
用于根据用户数据设置添加到购物车的产品税种。该数据是我创建的管理区域中的自定义复选框。如果选中此复选框,则用户应获得零税率征税。
这在大多数情况下都可以正常工作,但最终会导致两个我无法解决的问题。
1)结帐页面永远不会完全加载(订单摘要和付款选项面板上方始终旋转着“加载”图标) 和
2)运输税未更新。具体来说,如果我从具有营业税和运输税的税种转到零税率税制,则营业税会正确更新(更新为无),但是运输费仍然要缴税。
我在WooCommerce设置中正确设置了税率(零税率没有运费),但是没有任何变化。
我正在使用此过滤器应用更改:
add_filter('woocommerce_product_get_tax_class', 'wc_diff_rate_for_user', 1, 2);
有人可以帮助我正确设置购物车和结帐的运费吗?
答案 0 :(得分:1)
如果您希望免除特定用户角色的税,这是一种更好的方式。
WC_Customer
类具有一个有趣的属性,该属性为“is_vat_exempt
” 。
可以使用以下方法将来自特定用户角色的所有客户设置为“免税”:
add_action( 'template_redirect', 'is_user_vat_exempt' );
function is_user_vat_exempt(){
// Only for logged in users
if ( ! is_user_logged_in() )
return;
// Set specific user role "Vat exempt" if is not set yet
if ( current_user_can( 'some_user_role' ) && ! WC()->customer->is_vat_exempt() ) {
WC()->customer->set_is_vat_exempt( true );
}
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。
这将解决您的所有问题,并且您将需要删除不再需要的相关代码。