Описание WC_PRODUCT_VARIATION->GET_HOOK_PREFIXcatalog_visibility
— Filter
Хук WC_PRODUCT_VARIATION->GET_HOOK_PREFIXcatalog_visibility позволяет изменить видимость вариаций товара в WooCommerce. Он срабатывает при получении значения видимости для вариаций, что позволяет разработчикам адаптировать отображение товаров на сайте в зависимости от бизнес-логики
Примеры использования
Пример скрытия вариации товара для каталога:
add_filter('woocommerce_product_variation_get_catalog_visibility', function($catalog_visibility, $variation) {
if ($variation->get_attribute('color') === 'red') {
return 'hidden';
}
return $catalog_visibility;
}, 10, 2);
В этом примере мы скрываем вариации с атрибутом ‘color’, равным ‘red’.
Пример изменения видимости всех вариаций на основе их цены:
add_filter('woocommerce_product_variation_get_catalog_visibility', function($catalog_visibility, $variation) {
if ($variation->get_regular_price() < 10) {
return 'hidden';
}
return $catalog_visibility;
}, 10, 2);
Здесь мы скрываем вариации, цена которых меньше 10.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить видимость вариаций товара на основе определённых условий
– Производительность
Этот хук не должен значительно влиять на производительность, но стоит избегать сложных расчетов в функции
– Предупреждения
Обратите внимание на то, чтобы изменения не нарушали логику отображения товаров на сайте
Альтернативы
Тип: filter
Этот хук позволяет изменять видимость самого товара, а не только его вариаций
Используйте его, если нужно изменить видимость товара в целом, а не отдельных вариаций