Задать вопрос
MaXComp
@MaXComp
интересуюсь frontend html+css+JS+php. Linux, C

Как поменять местами цену вариативного товара?

При выборе вариативного товара, в зависимости от цвета меняется цена. Нужно что бы цена отображалась наверху, т.к. снизу её не всегда и видно.
Каким образом это осуществить, при том, что при выборе обычного (не вариативного товара), цена находится на нужном месте.
5b9683560c906993602465.png

Можно ли вообще эту вариативную цену убрать именно из карточки товара?
  • Вопрос задан
  • 870 просмотров
Подписаться 3 Сложный Комментировать
Решения вопроса 1
@its2easyy
Если умеете работать с хуками вордпресса можно попробовать перенести эту цену наверх. Вам нужно убрать функцию woocommerce_single_variation которая добавляет пустой блок для цены с экшена woocommerce_single_variation и добавить ее куда нибудь в другое место формы с вариациями потому что js вукомерса ожидает цену только там. Примерно так
remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 10);
add_action( 'woocommerce_before_variations_form', 'woocommerce_single_variation', 20);

Файл в котором можно посмотреть что где вызывается это single-product/add-to-cart/variable.php. Скрыть статичную цену только в вариативном товаре можно через css, при необходимости проверять тип товара и повесить дополнительный класс.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Vakshgt
Чтобы полностью удалить ценовой диапазон.

add_filter( 'woocommerce_variable_sale_price_html', 'my_remove_variation_price', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'my_remove_variation_price', 10, 2 );
 
function my_remove_variation_price( $price ) {
$price = '';
return $price;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы