You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从woocommerce_product_tax_class迁移至woocommerce_product_get_tax_class?

WooCommerce 过滤器迁移问题解答

不完全只改钩子名称哦,不过整体改动非常小,我给你理清楚:

  • 核心替换:把旧钩子名称 woocommerce_product_tax_class 改成新的 woocommerce_product_get_tax_class,这是必须的一步。
  • 参数与优先级兼容:你原来代码里的优先级(1)和参数数量(2)完全适配新钩子,不需要做任何调整。
  • 函数逻辑无需修改:新钩子的参数结构和旧钩子完全一致——第一个参数是税类字符串,第二个是产品对象,所以你写的wc_no_tax函数可以原封不动保留。

修改后的完整代码如下:

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_get_tax_class', 'wc_no_tax', 1, 2);

小提醒:以后遇到类似的WooCommerce钩子弃用提示,官方文档通常会标注新钩子的参数是否和旧钩子兼容,大部分这类替换都是参数一致的,但花1分钟确认下参数结构能避免不必要的问题。

内容的提问来源于stack exchange,提问作者lofidevops

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:54:38