如何从 woocommerce_product_tax_class 迁移到 woocommerce_product_get_tax_class?

How do I migrate from woocommerce_product_tax_class to woocommerce_product_get_tax_class?

我目前在functions.php中定义了以下内容:

function wc_no_tax($tax_class, $product) {
  $id = $product->get_id();
  $price = $product->get_price();

  if ($id == 12345 && $price < 999) {
    $tax_class = 'Zero Rate';
  }

  return $tax_class;
}

add_filter('woocommerce_product_tax_class', 'wc_no_tax', 1, 2);

但我收到以下调试通知:

The "woocommerce_product_tax_class" hook uses out of date data structures and is deprecated since version 3.2.6! Use woocommerce_product_get_tax_class instead.

更新过滤器名称这么简单吗?

是的,只需更新过滤器名称即可

function wc_no_tax( $tax_class, $product ) {
    $tax_class = 'zero-rate';
    return $tax_class;
}
add_filter( 'woocommerce_product_get_tax_class', 'wc_no_tax', 1, 2 );

我希望这对你有用。

对于变体修复,您可以使用:

add_filter( "woocommerce_product_variation_get_tax_class", "wc_no_tax", 1, 2 );