我目前正在尝试对商业中的产品和运输实施一些动态征税。到目前为止,我已经使用了这种方法:WooCommerce文档中的税务类和用户角色
用于根据用户数据设置添加到购物车的产品的税务类别。该数据是我创建的管理区域中的自定义复选框。如果选中该复选框,则用户应获得零税率税收。
这在很大程度上与预期的一样,但最终会产生两个我无法解决的问题。
1) 结帐页面从未完全加载(订单摘要和付款选项面板上有不断旋转的“加载”图标),并且
2)航运税不更新。具体来说,如果我从一个有销售税和运费税的税种到零税率税,销售税会正确更新(到无),但是运费仍然有税。
我在WooCommerce设置中正确设置了税率(零税率没有运费税),但没有更改。
我正在使用此筛选器应用更改:
add_filter('woocommerce_product_get_tax_class', 'wc_diff_rate_for_user', 1, 2);
有人能帮我为购物车和结帐正确设置运费吗?
如果您希望特定的用户角色免税,有一种更好的方法。WC\u Customer
类有一个有趣的属性,即“是免税的
”。
可以使用以下方法将特定用户角色的所有客户设置为“增值税免税”:
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 );
}
}
代码进入函数。活动子主题(或活动主题)的php文件。测试和工作。
这将解决您的所有问题,您将需要删除不再需要的相关代码。