Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当价格范围不确定时,如何仅显示一个价格';你不会变吗?_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 当价格范围不确定时,如何仅显示一个价格';你不会变吗?

Php 当价格范围不确定时,如何仅显示一个价格';你不会变吗?,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,默认情况下,WooCommerce显示分组产品的最低和最高价格值。但是,当范围不存在时,它仍然显示价格范围(例如$55-$55)。这是非常含糊和不必要的 当最低和最高价格相同时,是否可以隐藏破折号和更高的值?此代码应添加到主题的functions.php中 add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2); function custom_variation_price( $price,

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


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

此代码应添加到主题的functions.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;
}
add_filter('woocommerce_variable_price_html','custom_variation_price',10,2);
功能自定义\变化\价格($price,$product){
$price='';
如果(!$product->min|U VARIANCE|U price |$product->min|U VARIANCE|U price!===$product->max|U VARIANCE|U price)$price.='.''.';
$price.=woocommerce\u price($product->get\u price());
如果($product->max\u variation\u price&&$product->max\u variation\u price!==$product->min\u variation\u price){
$price.=''.'ux('to','max_price','woocommerce');
$price.=woocmerce\u price($product->max\u variation\u price);
}
返回$price;
}

我发现了问题。我想要的功能默认存在,但出于某种原因,付费插件“WooCommerce Prices by User Role”将其关闭。当我关闭插件时,它又回来了。

老实说,我真的不知道代码的哪一部分负责提到的价格范围,但我在git中发现了以下条件,似乎已经有了一个条件,即
min
等于
max
-这很奇怪。WC开发人员解决了可变产品的问题,但忽略了分组产品。此答案参考了可变产品,而原始问题是关于分组产品的
woocommerce\u group\u price\u html
或catchall
woocommerce\u get\u price\u html
将成为目标过滤器。