以编程方式为特定用户角色禁用税

时间:2016-10-11 08:00:10

标签: php wordpress woocommerce user-roles tax

在我的woocommerce网站上,我在一般的WooCommerce设置中启用了Tax。

我想从我的商店,结帐页面和订单电子邮件中以编程方式(使用任何挂钩)禁用特定用户角色的税。

我怎么能实现这个目标?

由于

1 个答案:

答案 0 :(得分:4)

  

您无法以编程方式禁用特定用户角色的WooCommerce税,但您可以为特定用户角色申请零税率。

首先,您需要在worpress中设置此特定用户角色。如果是这种情况,请假设我的代码示例中此自定义用户角色为 'resellers'

其次,您必须在WooCommerce设置中启用零税率

enter image description here

然后对于每个国家/地区,您必须设置零税率

enter image description here

第三 - 然后这个函数挂在 woocommerce_product_tax_class 中就可以了:

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);

    //  <== <== <== <== <== <== <== Here you put your user role slug 
    if ( in_array( 'resellers', $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 );
  

您只需要代替经销商&#39;你想要的用户角色slug。

此代码位于活动子主题(或主题)的function.php文件中或任何插件文件中。

此代码经过测试且功能齐全。

参考:WooCommerce - Enabling "Zero rate" tax class to some specific user roles