Отображение цены только при выборе варианта и скидки в процентах относительно обычной цены

У меня эта проблема. Позвольте мне показать фотографии, чтобы я мог лучше объяснить.

Измененный продукт выбран, но поскольку все варианты имеют одинаковую цену, цена не отображается внизу: Выбор продукта выбран, но поскольку все варианты имеют одинаковую цену, цена не отображается внизу.

Выбор продукта выбран, потому что у них разные цены PROMO, которые они показывают сверху, и регулярную промо-цену после выбора: Выбор продукта выбран из-за того, что у них разные цены PROMO, которые они показывают сверху, и регулярное промо-предложение после выбора

Мне нужно, чтобы только после того, как вы выбрали вариации, цена отображается внизу, как второе изображение, и вычисляет скидку между ценой промо-акции и обычной ценой изменения. Мне нужно такое же поведение в двух случаях.

Я много искал, но ни одна из вещей не разрешила это поведение. Вот некоторые ответы, которые очень близки:

  • расчет процента скидки
  • настройки вариаций цен

После некоторого поиска есть этот простой выделенный фильтр-крючок woocommerce_show_variation_price , который сделает именно то, что вы ожидаете:

 add_filter( 'woocommerce_show_variation_price', 'filter_show_variation_price', 10, 3 ); function filter_show_variation_price( $condition, $product, $variation ){ if( $variation->get_price() === "" ) return false; else return true; } 

Код идет в файле function.php вашей активной дочерней темы (или темы), а также в любом файле плагина.

Протестировано и работает … Это отобразит выбранную вариационную цену, даже если все цены варьируются одинаково …