Описание woocommerce_get_price_html
— Filter
Хук woocommerce_get_price_html позволяет изменить HTML-код, выводимый для цены товара в WooCommerce. Он срабатывает при отображении цены на страницах товара, в корзине и на страницах магазина, позволяя настраивать форматирование и стили цены
Примеры использования
Пример добавления текста ‘от’ перед ценой:
add_filter('woocommerce_get_price_html', function($price_html, $product) {
return 'от ' . $price_html;
}, 10, 2);
В этом примере мы добавляем текст ‘от’ перед отображением цены товара.
Пример изменения стилей отображения цены:
add_filter('woocommerce_get_price_html', function($price_html, $product) {
return '' . $price_html . '';
}, 10, 2);
Здесь мы оборачиваем цену в кастомный span с классом для стилизации.
Пример удаления цен для товаров со статусом ‘распродажа’:
add_filter('woocommerce_get_price_html', function($price_html, $product) {
if($product->is_on_sale()) {
return ''; // Возвращаем пустую строку для распродажных товаров
}
return $price_html;
}, 10, 2);
В этом примере мы убираем цену для товаров, которые находятся на распродаже.
Пример добавления скидки к цене:
add_filter('woocommerce_get_price_html', function($price_html, $product) {
$discount = 100; // Скидка в 100 рублей
return '' . ($product->get_price() - $discount) . ' ₽';
}, 10, 2);
В этом примере мы вычитаем 100 рублей из цены товара и показываем новую цену.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить отображение цены товара, например, добавить текст или изменить форматирование
– Производительность
Хук не должен значительно влиять на производительность, так как изменения касаются только вывода HTML
– Предупреждения
Следите за тем, чтобы изменения не нарушали логику отображения цен, особенно в случае распродаж или акций
Альтернативы
Тип: filter
Этот хук позволяет изменять значение цены непосредственно, а не только HTML-вывод
Используйте его, если необходимо изменить саму цену, а не только её отображение