如何在价格范围不变时仅显示一个价格


How to show only one price when the price range doesn't change?

默认情况下,WooCommerce显示分组产品的最低和最高价格值。但是,当范围不存在时,它仍然显示价格范围(例如 55 美元 - 55 美元)。这是非常模棱两可和不必要的。

当最低和最高价格相同时,是否可以隐藏破折号和更高的值?

此代码应添加到主题的函数.php

add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2);
function custom_variation_price( $price, $product ) {
$price = '';
if ( !$product->min_variation_price || $product->min_variation_price !== $product->max_variation_price ) $price .= '<span class="from">' . _x('From', 'min_price', 'woocommerce') . ' </span>';
$price .= woocommerce_price($product->get_price());
if ( $product->max_variation_price && $product->max_variation_price !== $product->min_variation_price ) {
$price .= '<span class="to"> ' . _x('to', 'max_price', 'woocommerce') . ' </span>';
$price .= woocommerce_price($product->max_variation_price);
}
return $price;
}

我发现了问题。我想要的功能默认存在,但由于某种原因,付费插件"按用户角色划分的WooCommerce价格"将其关闭。当我关闭插件时,它又回来了。