Архив: Цены со скидками в вариативных товарах 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/
закомментирован код (я так понимаю) диапазона
- Город
- Киев
- Категория