根据变体产品的用户角色配置税收选项

时间:2019-06-20 17:00:16

标签: php wordpress woocommerce

我有一个功能,可以根据用户角色应用不同的税率。

function wc_diff_rate_for_user( $tax_class, $product ) {
  if ( is_user_logged_in() && current_user_can( 'dealer-price-level' ) ) {
    $tax_class = 'Zero Rate';
  }
  return $tax_class;
}
add_filter( 'woocommerce_product_get_tax_class', 'wc_diff_rate_for_user', 1, 2 );

但是,它仅适用于简单的产品。

对于变体产品,它不适用“零税率”税种。

我必须直接在WooCommerce插件中添加手动修复程序。

A。打开/wp-content/plugins/woocommerce/includes/class-wc-product-variation.php

B。查找行。...

$value = $this->parent_data['tax_class'];

C。替换为...

if ( is_user_logged_in() && current_user_can( 'dealer-price-level' ) ) {
  $tax_class = 'Zero Rate';
} else {
  $value = $this->parent_data['tax_class'];
}

我知道这是致命的罪行,因为更新后代码将丢失。

但是我完全不知道如何找到长期解决方案。

任何建议表示赞赏。

0 个答案:

没有答案