Описание woocommerce_product_is_visible
— Filter
Хук woocommerce_product_is_visible позволяет изменить видимость товара в WooCommerce. Он срабатывает при проверке видимости товара перед его отображением на страницах магазина, что позволяет скрывать или показывать товары в зависимости от определенных условий
Примеры использования
Пример скрытия товара с определенным ID:
add_filter('woocommerce_product_is_visible', function($visible, $product_id) {
if ($product_id == 123) {
return false; // Скрываем товар с ID 123
}
return $visible;
}, 10, 2);
В этом примере товар с ID 123 будет скрыт от пользователей на сайте.
Пример скрытия товаров на основе их категории:
add_filter('woocommerce_product_is_visible', function($visible, $product_id) {
$product = wc_get_product($product_id);
if (has_term('скрытая-категория', 'product_cat', $product_id)) {
return false; // Скрываем товары из категории 'скрытая-категория'
}
return $visible;
}, 10, 2);
Здесь мы скрываем все товары, которые принадлежат категории ‘скрытая-категория’.
Пример скрытия товара, если пользователь не авторизован:
add_filter('woocommerce_product_is_visible', function($visible, $product_id) {
if (!is_user_logged_in()) {
return false; // Скрываем все товары для неавторизованных пользователей
}
return $visible;
}, 10, 2);
В этом примере все товары будут скрыты для незарегистрированных пользователей.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо управлять видимостью товаров в зависимости от условий, таких как категория, статус пользователя или другие параметры
– Производительность
Хук не должен сильно влиять на производительность, но слишком сложные проверки могут замедлить процесс отображения товаров
– Предупреждения
Убедитесь, что изменения не влияют на пользовательский опыт и не скрывают важные товары без необходимости
Альтернативы
Тип: filter
Этот хук позволяет управлять видимостью вариаций товара в WooCommerce
Используйте его, если необходимо скрыть или показать вариации конкретного товара