Описание woocommerce_variation_is_visible
— Filter
Хук woocommerce_variation_is_visible позволяет управлять видимостью вариаций товара в WooCommerce. Он срабатывает при определении, видима ли конкретная вариация товара на странице, и позволяет настроить, какие вариации будут отображаться пользователю
Примеры использования
Пример скрытия вариации на основе пользовательского атрибута:
add_filter('woocommerce_variation_is_visible', function($is_visible, $variation, $parent) {
if ('нет' === $variation->get_attribute('доступность')) {
return false;
}
return $is_visible;
}, 10, 3);
В этом примере мы скрываем вариацию, если атрибут ‘доступность’ равен ‘нет’.
Пример изменения видимости вариации для определенной категории товаров:
add_filter('woocommerce_variation_is_visible', function($is_visible, $variation, $parent) {
if (has_term('особая категория', 'product_cat', $parent->get_id())) {
return true;
}
return $is_visible;
}, 10, 3);
Здесь мы делаем все вариации видимыми для товаров из категории ‘особая категория’.
Пример скрытия вариации на основе цены:
add_filter('woocommerce_variation_is_visible', function($is_visible, $variation, $parent) {
if ($variation->get_price() > 1000) {
return false;
}
return $is_visible;
}, 10, 3);
В этом примере мы скрываем все вариации, цена которых превышает 1000.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо управлять видимостью вариаций товара в зависимости от определенных условий
– Производительность
Хук не должен значительно влиять на производительность, но стоит избегать сложных расчетов внутри него
– Предупреждения
Обязательно тестируйте изменения, чтобы избежать скрытия важной информации для пользователей
Альтернативы
Тип: filter
Этот хук позволяет менять видимость самого товара, включая все его вариации
Используйте его, если нужно изменить видимость всего товара, а не только его вариаций