Архив: Цены со скидками в вариативных товарах woocommerce. Киев.

Бюджет По договоренности
Создан: 6 лет назад
Закрыт
Описание
Здравствуйте друзья!

Такая вот проблема в магазине.

Сейчас в вариативном товаре есть такой вид цен.

1 товар имеет 4 вариации, 10, 20, 30, 40 грн.

При выборе вариации цена меняется в зависимости от того что указано в вариациях.



Если в одной вариации установлена обычная цена 10грн а я ставлю скидку в поле "цена со скидкой" 5 грн.

То в карточке товара все равно будет видна цена 10грн, но в корзину попадет эта вариация уже с новой ценой 5 грн.

Как так я не понимаю.



Задача:

Сделать вывод цен в вариативных товарах с указанием скидок.

Если вариация имеет скидку, то при нажатии на эту вариацию (или она уже активна по умолчанию) первая цена это старая перечеркнутая цена а новая это как основная.

Видно на скриншотах.





В файле functions.php установлен код который удаляет диапазон цен в вариациях и отображает самую меньшею цену вариаций.

Вот он:

add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2);

add_filter('woocommerce_variable_sale_price_html', 'custom_variation_price_default', 10, 2 );



function custom_variation_price( $price, $product ) {

$price = '';

$price .= woocommerce_price($product->get_price());

return $price;

}



Так же, установлен код который показывает цену вариации, даже если минимальные и максимальные цены одинаковы



add_filter('woocommerce_available_variation', function ($value, $object = null, $variation = null) {

if ($value['price_html'] == '') {

$value['price_html'] = '' . $variation->get_price_html() . '';

}

return $value;

}, 10, 3);







В файле price.php что по пути: plugins/woocommerce/templates/single-product/

закомментирован код (я так понимаю) диапазона
Город
Киев
Категория