Как скрыть кнопку «Цена и добавить в корзину» в WooCommerce?

Опубликовано: 2023-03-25
Содержание скрыть
1. Когда скрывать цены в вашем магазине WooCommerce?
2. WooCommerce скрывает цену — фрагменты кода для разных сценариев
2.1. Скрыть цены на страницах товаров
2.2. Скрыть цены только на странице магазина WooCommerce
2.3. Скрыть цены на всех страницах, кроме корзины WooCommerce и страницы оформления заказа
2.4. Скрыть цены на товары, которых нет в наличии
2.5. Скрыть цены для не авторизованных пользователей
2.6. Скрыть цены на определенные продукты (новинки)
2.7. Скрыть цены на определенные категории товаров
3. Заключение

Скрытие цен на товары и кнопки «Добавить в корзину» в WooCommerce на самом деле является маркетинговым трюком. И это тоже приносит плоды.

Но кто должен это делать, зачем это делать и как это делать?

В этом блоге мы поделимся некоторыми фрагментами кода, чтобы скрыть цены в WooCommerce для всех посетителей или на основе некоторых условий, таких как статус входа в систему, и некоторых других сценариев!

Когда скрывать цены в вашем магазине WooCommerce?

В некоторых случаях имеет смысл скрыть цены и кнопку «Добавить в корзину»:

  • Оптовики . Вы хотите скрыть цену от розничных покупателей, но при этом позволить оптовым покупателям видеть цены. Это пример показа цен только зарегистрированным пользователям.
  • Каталоги и предварительные запуски продуктов . Если вы предлагаете новые продукты или магазин, вы просто хотите создать шумиху, продемонстрировав свой каталог продуктов без цены и кнопки «Добавить в корзину».
  • Товары, которых нет в наличии . Вы хотите скрыть цены на товары, которых нет в наличии, и не знаете, когда они появятся в следующий раз.
  • Создание списка — заинтересованные покупатели свяжутся с магазином, чтобы узнать цену. Это может быть способом создания списков адресов электронной почты или создания более личной связи с потенциальными клиентами.
  • Офлайн-покупки . Некоторые продавцы используют веб-сайт только для маркетинга и рекламы подлинных товаров. Фактические продукты доступны только в физических магазинах.
  • Только для членов — создайте магазин только для членов, в котором зарегистрированные покупатели должны войти в систему, чтобы увидеть цены на ваши специальные пакеты членства. Мы рекомендуем использовать плагин WooCommerce Memberships для создания и продажи членских продуктов в вашем магазине.

Теперь, когда мы знаем, кому нужно скрывать цены и почему, давайте посмотрим, как их скрыть.

WooCommerce скрывает цену — фрагменты кода для разных сценариев

Поскольку WooCommerce не включает эту функцию, вам необходимо использовать фрагменты кода или некоторые плагины.

И добавление фрагментов кода рискованно. Поэтому мы предлагаем вам обратиться к этому документу по безопасному добавлению кода в файл functions.php.

Скрыть цены на страницах товаров

add_filter('woocommerce_get_price_html', 'storeapps_remove_price');
функция storeapps_remove_price($price = ''){
возвращаться '';
}

Скрыть цены только на странице магазина WooCommerce

remove_action('woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10);

Скрыть цены на всех страницах, кроме корзины WooCommerce и страницы оформления заказа

add_filter('woocommerce_variable_sale_price_html', storeapps_remove_prices', 9999, 2);

add_filter('woocommerce_variable_price_html', 'storeapps_remove_prices', 9999, 2);

add_filter('woocommerce_get_price_html', 'storeapps_remove_prices', 9999, 2);

функция storeapps_remove_prices ($ цена = '', $ продукт) {
если ( ! is_admin() ) $price = '';
вернуть $цену;
}

Скрыть цены на товары, которых нет в наличии

Вы можете захотеть скрыть цены на товары, которых нет в наличии, в магазине, категориях, архивах, циклах и отдельной странице товара.

add_filter('woocommerce_get_price_html', 'storeapps_hide_price_if_out_stock_frontend', 9999, 2);

функция storeapps_hide_price_if_out_stock_frontend ($ цена = '', $ продукт) {
если ( is_admin() ) вернуть цену $; // вернуть, если панель администратора
вернуть (! $product->is_in_stock())? apply_filters('woocommerce_empty_price_html', '', $product): $price;
}

Скрыть цены для не авторизованных пользователей

Когда вы хотите заставить пользователей войти в систему, чтобы просмотреть цены и добавить товары в корзину.

add_filter('woocommerce_get_price_html', 'storeapps_hide_price_addcart_not_logged_in', 9999, 2);

функция storeapps_hide_price_addcart_not_logged_in($price = '', $product) {
если ( is_user_logged_in() ) {
вернуть $цену;
}
$price = '<div><a href="' .get_permalink(wc_get_page_id('myaccount') ) . '">' . __('Войдите, чтобы увидеть цены', 'storeapps') . '</a></div>';
remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10);
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30);
вернуть $цену;
}

Скрыть цены на определенные продукты (новинки)

Вы хотите только скрыть цены на свои новые запуски с идентификаторами продуктов 303 и 609, но отображать цены на остальные продукты.

add_filter('woocommerce_get_price_html', 'storeapps_hide_price_product_ids', 10, 2);

функция storeapps_hide_price_product_ids($price = '', $product) {
$hide_for_products = массив (303, 609); // Указываем список id товаров, для которых нужно скрыть цены
return (in_array($product->get_id(), $hide_for_products))? '' : $ цена;
}

Скрыть цены на определенные категории товаров

add_filter('woocommerce_get_price_html','storeapps_hide_price_on_taxonomy');

функция storeapps_hide_price_on_taxonomy($price = '') {
глобальный $продукт;
$hide_for_categories = массив('плакаты'); // Скрыть для этих категорий слаги/идентификаторы
return ( has_term( $hide_for_categories, 'product_cat', $product->get_id() )) ? '' : $ цена; // Не показывать цену, если она находится в одной из категорий, иначе вернуть исходную цену
}

Заключение

Скрытие цен и кнопки «Добавить в корзину» помогают вам контролировать товары, особенно для оптовых магазинов, сайтов-каталогов и других случаев, упомянутых в этом блоге.

Мы надеемся, что эта статья «Скрыть цены WooCommerce» окажется вам полезной. Любые отзывы или вопросы, поделитесь ими ниже.