WordPress站点价格显示定制需求:隐藏产品页价格区间,仅显最低价与选中变体价
解决WordPress变体产品价格显示问题
一、产品页隐藏价格区间,仅显示选中变体价格
通过添加自定义代码实现,步骤如下:
- 打开主题的
functions.php文件(优先使用子主题,避免主题更新导致代码丢失) - 插入以下代码:
// 隐藏产品页的变体价格区间 add_filter( 'woocommerce_variable_sale_price_html', 'hide_variable_price_range', 10, 2 ); add_filter( 'woocommerce_variable_price_html', 'hide_variable_price_range', 10, 2 ); function hide_variable_price_range( $price, $product ) { if ( is_product() ) { $price = ''; } return $price; } // 选中变体时显示对应价格 add_action( 'woocommerce_before_single_product', 'show_selected_variant_price' ); function show_selected_variant_price() { wc_enqueue_js( " jQuery(document).ready(function($){ $('form.variations_form').on('show_variation', function(event, variation){ $('.woocommerce-variation-price').show(); }); $('form.variations_form').on('hide_variation', function(){ $('.woocommerce-variation-price').hide(); }); }); " ); }
- 保存文件后,产品页的价格区间会被隐藏,仅在用户选中具体变体时显示对应价格。
二、分类页、店铺页仅展示最低价格
同样在functions.php中添加以下代码:
// 归档页面(分类/店铺/标签页)显示变体产品最低价格 add_filter( 'woocommerce_get_price_html', 'display_min_price_on_archives', 10, 2 ); function display_min_price_on_archives( $price, $product ) { if ( is_shop() || is_product_category() || is_product_tag() ) { if ( $product->is_type( 'variable' ) ) { $min_price = $product->get_variation_price( 'min', true ); $price = wc_price( $min_price ); // 可选:添加"起"字增强提示,不需要可删除此行 $price .= ' 起'; } } return $price; }
- 代码生效后,所有归档页面的变体产品都会只显示最低价格,可根据需求选择是否保留"起"字。
注意事项
- 修改
functions.php前务必备份文件,防止代码错误导致网站异常; - 若使用Elementor、Divi等页面构建器,可能需要调整代码适配其产品模块;
- 部分主题自带价格显示设置,可先检查主题后台是否有相关选项,无需额外代码。
内容的提问来源于stack exchange,提问作者Rishikesh Dubey
相关产品推荐
相关产品推荐

