В процессе работы с интернет-магазинами на WooCommerce нередко возникает необходимость добавить товары, для которых не указываются цены. Это актуально например для ниши продажа спецтехники, а также многих других где стоимость товаров может часто меняться. В подобных случаях предприниматели предпочитают не указывать фиксированную стоимость, и как раз для таких случев хорошо походит вариант вывода фразы»Цена по запросу».
Для реализации данного функционала чтобы woocommerce показывал текст «цена по запросу» вместо пустой незаполненой цены можно внести небольшие изменения в файл functions.php вашей темы.
Ниже приведён код, который поможет вам это реализовать.
// Функция для замены пустой цены на "Цена по запросу"
add_filter( 'woocommerce_get_price_html', 'custom_price_if_empty', 10, 2 );
function custom_price_if_empty( $price, $product ) {
// Проверяем, есть ли цена
if ( $product->get_price() == '' ) {
// Если цены нет, выводим текст "Цена по запросу"
return '<span class="price-request">Цена по запросу</span>';
}
// Если цена есть, возвращаем стандартную цену
return $price;
}
Как работает этот код
woocommerce_get_price_html
— это фильтр, который WooCommerce использует для отображения цены на сайте.$product->get_price()
— проверяет, есть ли у продукта цена.
Если цены нет, выводится текст «Цена по запросу». Если цена есть, выводится стандартная цена.
Как добавить код
1. Перейдите в админку вашего WordPress-сайта.
2. Зайдите в раздел «Внешний вид» -> «Редактор тем» (или используйте FTP-клиент).
3. Найдите файл functions.php
4. Добавьте этот код в конец файла и сохраните изменения.
После этого на странице каталога WooCommerce, где не указана цена, будет отображаться текст «Цена по запросу».
Добавив этот код, WooCommerce будет автоматически выводить текст «Цена по запросу» для товаров, у которых цена не задана. Это позволит более эффективно управлять вашими позициями и избавит от необходимости постоянно вручную обновлять цены при их изменении.