Здравствуйте друзья!
Такая вот проблема в магазине.
Сейчас в вариативном товаре есть такой вид цен.
1 товар имеет 4 вариации, 20, 40, 60, 80 руб.
При выборе вариации цена меняется в зависимости от того что указано в вариациях.Если в одной вариации установлена обычная цена 20 руб а я ставлю скидку в поле "цена со скидкой" 10 руб.
То в карточке товара все равно будет видна цена 20 руб, но в корзину попадет эта вариация уже с новой ценой 10 руб.
Как так я не понимаю.
Задача:
Сделать вывод цен в вариативных товарах с указанием скидок.
Если вариация имеет скидку, то при нажатии на эту вариацию (или она уже активна по умолчанию) первая цена это старая перечеркнутая цена а новая это как основная.
В файле 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/
закомментирован код (я так понимаю) диапазона