WooCommerce Скрыть цену для определенного продукта, категории, ролей пользователей, гостей
Опубликовано: 2019-10-30Любой, кто когда-либо владел магазином электронной коммерции, знает, что ценообразование - это все. Цены - ваш лучший друг и злейший враг. Они являются предметом вашего исследования, сравнения продуктов и анализа тенденций. Для онлайн-продавцов цены заставляют мир вращаться. Хотя обычно рекомендуется указывать цены заранее, иногда маркетинговая стратегия диктует иное.
Есть много разных причин, по которым убирать цены с цифровых «полок» - это полезный шаг. В любом случае WooCommerce не дает вам возможности скрыть цены прямо из коробки. Вам необходимо использовать плагин, чтобы внести эти изменения или применить код вручную.
Оптовые продавцы довольно часто ограничивают информацию, которую могут видеть розничные (индивидуальные, а не организации) покупатели. Часто они показывают цены проверенным оптовым покупателям и скрывают их для случайных покупателей.
В некоторых случаях продавцы не хотят открывать магазин электронной коммерции. У них может быть обычный магазин, и они могут использовать интернет-магазин только в маркетинговых целях . Этот сценарий может означать, что продавец хочет выставлять товары - товары, которые они хранят в настоящем магазине, - без указания цены.
Иногда вы просто хотите создать доступный для просмотра каталог продуктов, но на самом деле не хотите продавать через веб-сайт.
Сокрытие цен также распространено на сайтах, предназначенных только для участников. Вы можете создать магазин WooCommerce только для членов, в котором только зарегистрированные покупатели могут видеть цену.
Как скрыть цену в WooCommerce?
Несложно настроить страницу магазина WooCommerce, страницу продукта, макет категорий и т. Д., Чтобы скрыть цены в магазине WooCommerce. Самый простой способ - использовать плагин. Но если вам нужна большая гибкость, вам, скорее всего, потребуется применить код.
1. Использование плагина
Если вместо ручного редактирования файлов вы будете использовать плагин, вы можете использовать плагин WooCommerce Hide Price: Hide Add to Cart Button & Price.
Плагин WooCommerce Hide Price позволяет создавать несколько правил, которые позволят скрыть цену и добавить в корзину для клиентов, не вошедших в систему, и других пользователей. Вы можете скрыть цену и добавить в корзину для определенных продуктов, категорий и групп клиентов.
Вы даже можете скрыть цену определенных продуктов или всей категории для незарегистрированных пользователей, скрыть «Добавить в корзину» для определенных стран пользователей и т. Д.
Список возможностей плагина WooCommerce Hide Price:
- Скрыть цену и / или кнопку «Добавить в корзину» для незарегистрированных или зарегистрированных пользователей
- Скрыть цену для определенных групп пользователей, ролей и страны
- Скрыть цену на определенные товары и категории
- Создайте несколько правил для скрытия цены и добавления в корзину
- Заменить цену или добавить в корзину произвольным текстом
- Возможность заменить Добавить в корзину ссылкой или контактной формой
- Удалить кнопку добавления в корзину WooCommerce
Вы также можете использовать плагин YITH WooCommerce Catalog Mode. Помимо скрытия кнопок «Добавить в корзину» на страницах (бесплатная версия), вы также можете скрыть цены, скрыть страницы корзины и оформления заказа, настроить таргетинг на определенные продукты, заменить цену контактной формой и т. Д. (Премиум-версия).
2. Скрыть цену вручную
Если вы готовы «запачкать руки», ниже вы найдете код, который вы можете применить в зависимости от того, что вы пытаетесь выполнить. Вы применяете код, добавляя его в свой файл functions.php в конец файла.
Вы можете сделать это через FTP, используя файловый менеджер cPanel или через редактор тем WordPress, расположенный в Appearance > Editor > functions.php.
Я рекомендую вносить изменения, используя вашу дочернюю тему.
С другой стороны, код CSS находится в файле style.css вашей темы . Убедитесь, что вы знаете, что делаете при редактировании таких файлов.
Как скрыть все цены WooCommerce?
Это пример того, как можно скрыть цены для всех . Добавьте приведенный ниже код в свой файл functions.php.
add_filter ('woocommerce_get_price_html', function ($ price) { | |
if (is_admin ()) return $ price; | |
возвращение "; | |
}); |
Используя приведенный выше код, администратор по-прежнему сможет просматривать цены, но вы можете прокомментировать эту строку, если хотите скрыть цены и для администраторов.
Приведенный ниже фрагмент кода скрывает цены на страницах продукта / архива , но не на страницах корзины / оформления заказа (или в виджете корзины). Он также удаляет цену / промежуточную сумму товара в корзине и то же самое для оформления заказа.
add_filter ('woocommerce_get_price_html', function ($ price) { |
if (is_admin ()) return $ price; |
возвращение "; |
}); |
add_filter ('woocommerce_cart_item_price', '__return_false'); |
add_filter ('woocommerce_cart_item_subtotal', '__return_false'); |
После использования этого фрагмента кода заголовки будут оставлены в таблице. Их нельзя удалить с помощью фрагмента кода, но вы можете скрыть их с помощью CSS.
Вот фрагмент CSS, который скрывает цены на товары в таблице корзины / оформления заказа и в виджете корзины (добавьте его в файл style.css своей темы):
/ * Виджет корзины * / .woocommerce-mini-cart__total { дисплей: нет; } / * Корзина * / .product-price, .product-subtotal { дисплей: нет! важно; } /* Проверить */ .product-total *, th.product-total { дисплей: нет; }
Как скрыть цены WooCommerce для определенных ролей пользователей?
Используя приведенный ниже фрагмент кода, вы можете скрыть цены для всех пользователей с «оптовой» ролью. Добавьте приведенный ниже код в свой файл functions.php.
add_filter ( ' woocommerce_get_price_html ' , function ( $ price ) { |
if (is_admin ()) return $ price ; |
$ user = wp_get_current_user (); |
$ hide_for_roles = array ( ' оптовая торговля ' , ' оптовая продажа серебра ' , ' оптовая продажа золота ' ); |
// Если одна из ролей пользователя находится в списке ролей, которые нужно скрыть. |
if ( array_intersect ( $ user -> roles , $ hide_for_roles )) { |
возврат ' ' ; // Возвращаем пустую строку, которую нужно скрыть. |
} |
вернуть цену $ ; // Возвращаем исходную цену |
}); |
add_filter ( ' woocommerce_cart_item_price ' , ' __return_false ' ); |
add_filter ( ' woocommerce_cart_item_subtotal ' , ' __return_false ' ); |

Как скрыть цену WooCommerce для гостевых пользователей?
Чтобы скрыть цену для гостевых пользователей, вы можете использовать следующий код (добавьте код ниже в свой файл functions.php):
add_filter ( ' woocommerce_get_price_html ' , function ( $ price ) { |
if ( ! is_user_logged_in ()) { |
возврат ' ' ; |
} |
вернуть цену $ ; // Возвращаем исходную цену |
}); |
add_filter ( ' woocommerce_cart_item_price ' , ' __return_false ' ); |
add_filter ( ' woocommerce_cart_item_subtotal ' , ' __return_false ' ); |
Как скрыть цену WooCommerce для определенной категории?
Используя приведенный ниже код, вы можете скрыть цены на товары в определенной категории . Добавьте приведенный ниже код в свой файл functions.php.
ПРИМЕЧАНИЕ. В качестве примера в приведенном ниже коде я использовал одежду и электронику. Используйте свои собственные категории имен, для которых вы хотите скрыть цену.
add_filter ( ' woocommerce_get_price_html ' , function ( $ price , $ product ) { |
if (is_admin ()) return $ price ; |
// Скрыть для этих категорий ярлыки / идентификаторы |
$ hide_for_categories = массив ( 'одежда ' , 'электроника ' ); |
// Не показывать цену, если она находится в одной из категорий |
if (has_term ( $ hide_for_categories , ' product_cat ' , $ product -> get_id ())) { |
возврат ' ' ; |
} |
вернуть цену $ ; // Возвращаем исходную цену |
}, 10 , 2 ); |
add_filter ( ' woocommerce_cart_item_price ' , ' __return_false ' ); |
add_filter ( ' woocommerce_cart_item_subtotal ' , ' __return_false ' ); |
Как скрыть цену WooCommerce для конкретного продукта?
Используя приведенный ниже код, вы можете скрыть цены на определенные продукты на основе идентификатора продукта. Добавьте приведенный ниже код в свой файл functions.php.
ПРИМЕЧАНИЕ. Я добавил 89 и 125 в качестве примеров в код ниже. Используйте собственные идентификаторы продуктов. Если вы не можете найти идентификатор продукта, посмотрите мой пост о том, как найти идентификатор страницы WordPress, где я объясню, как их найти.
add_filter ( ' woocommerce_get_price_html ' , function ( $ price , $ product ) { |
$ hide_for_products = массив (89, 125 ); |
if ( in_array ( $ product -> get_id (), $ hide_for_products )) { |
возврат ' ' ; |
} |
вернуть цену $ ; // Возвращаем исходную цену |
}, 10 , 2 ); |
add_filter ( ' woocommerce_cart_item_price ' , ' __return_false ' ); |
add_filter ( ' woocommerce_cart_item_subtotal ' , ' __return_false ' ); |
WooCommerce Hide Price Заключение
Скрытие цен в WooCommerce дает вам больше контроля над тем, у кого есть доступ к информации о ценах на вашем сайте. Это особенно полезно для оптовых магазинов, сайтов каталогов, магазинов только для участников или в любой другой ситуации, когда вы не хотите, чтобы цены на ваши продукты были видны сразу.
Сообщите мне, все ли работает должным образом, требуется ли доработка предоставленных фрагментов кода или у вас есть другие полезные фрагменты.