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

求助:WooCommerce自定义变体价格在商品目录失效

解决WooCommerce可变产品目录页显示价格区间问题

你之前的代码仅针对单个产品页面的可变产品价格做了处理,而商品目录页的可变产品价格渲染逻辑在WooCommerce 8.6.1中是通过另一个钩子实现的,所以导致目录页仍显示价格区间。

替换原有代码为以下内容,即可同时覆盖单个产品页和目录页的可变产品价格显示,只展示最高价格:

// 统一处理可变产品的最高价格显示(单个产品页+目录页)
add_filter('woocommerce_variable_price_html', 'custom_variable_product_max_price', 10, 2);
add_filter('woocommerce_get_price_html', 'custom_variable_product_max_price', 10, 2);

function custom_variable_product_max_price($price, $product) {
    // 仅对可变产品生效
    if ($product->is_type('variable')) {
        // 获取可变产品的最高价格,第二个参数true表示含税,false为不含税,可根据店铺设置调整
        $max_price = $product->get_variation_price('max', true);
        return wc_price($max_price);
    }
    // 非可变产品保留原有价格格式
    return $price;
}

代码说明

  • 同时挂钩woocommerce_variable_price_html和woocommerce_get_price_html两个钩子,确保所有页面的可变产品价格都被处理
  • 增加产品类型判断,避免干扰简单产品、分组产品等其他类型商品的价格显示
  • get_variation_price的第二个参数可根据你的店铺税设置调整,确保价格显示符合需求

替换代码后,刷新商品目录页和单个产品页,即可看到可变产品均只显示最高价格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 13:08:22