Мои переменные продукты показывают два ценовых сегмента, один - это диапазон цен для всех продуктов, а другой - цена для выбранного продукта, если он выбран.Но если цена на товары одинакова, она показывает только одну цену.
То, что я хочу, - это когда выбирается опция, если цена товаров колеблется, я хочу заменить ценовой диапазон ценойвыбранный вариант.И если не выбран ни один вариант, я хочу показать диапазон цен.Я не смог найти правильный фильтр или крючок для этого, вы можете помочь?
Вот пара изображений, чтобы показать вам, о чем я говорю;
![enter image description here](https://i.stack.imgur.com/lBuT2.png)
![enter image description here](https://i.stack.imgur.com/5hxUQ.png)
Код Ягнеш Макваны может быть использован для того, чтобы эта функциональность работала, но мне нужно иметь возможность узнать цену выбранного в настоящий момент варианта.Посмотрите в операторе if ниже $ вариация_прайс должна быть установлена равной текущей выбранной цене вариации;
add_filter( 'woocommerce_variable_sale_price_html', 'detect_variation_price_format', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'detect_variation_price_format', 10, 2 );
function detect_variation_price_format( $price, $product ) {
// get min and max price of varaitions and store in $prices array
$prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) );
//if min and max price are not the same
if ($prices[0] !== $prices[1]) {
$variation_price = get selected variation price;
$price = sprintf( __( $variation_price, 'woocommerce') );
}
return $price;
}