You need to enable JavaScript to run this app. 如何在Woocommerce特定商品变体价格后添加自定义文本
优惠活动
大模型
产品
解决方案
定价
更多

如何在Woocommerce特定商品变体价格后添加自定义文本

问题排查

你的代码核心问题出在产品ID的获取逻辑上:

  • 依赖global $post获取产品ID不可靠:变体加载大多走ajax请求,这个场景下全局$post对象不存在或者值错误,导致判断条件永远不触发,自然不会追加后缀。
  • 不需要额外拿全局ID,钩子传入的$product变量本身就是可变产品的对象,直接调用get_id()方法就能拿到正确的父产品ID。

修正后代码

add_filter('woocommerce_available_variation', 'variation_price_custom_suffix', 10, 3 );
function variation_price_custom_suffix( $variation_data, $product, $variation ) {
    // 直接从传入的可变产品对象拿父产品ID,兼容ajax场景
    $product_id = $product->get_id(); 
    $product_array = array( 6547 ); // 此处填写需要添加后缀的可变产品ID
    if ( in_array( $product_id, $product_array ) ){
        $variation_data['price_html'] .= ' <span class="price-suffix">' . __("TEST", "woocommerce") . '</span>';
    }
    return $variation_data;
}

生效检查

  • 代码放到当前主题的functions.php文件,或者自定义功能插件中
  • 清除woocommerce缓存、网站缓存、浏览器缓存后再测试,因为变体数据有缓存机制
  • 如果需要针对变体ID而非父产品ID判断,把$product_id替换成$variation->get_id(),同时$product_array里填写对应变体ID即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 16:54:04