Описание woocommerce_product_is_on_sale
— Filter
Хук woocommerce_product_is_on_sale позволяет изменить статус скидки для товара в WooCommerce. Он срабатывает при проверке, находится ли товар на распродаже, и позволяет изменить значение возвращаемого статуса скидки
Примеры использования
Пример изменения статуса скидки для товара:
add_filter('woocommerce_product_is_on_sale', function($on_sale, $product) {
if ($product->get_id() === 123) {
return true;
}
return $on_sale;
}, 10, 2);
В этом примере мы устанавливаем товар с ID 123 как товар на распродаже
Пример скрытия статуса распродажи для всех товаров определенной категории:
add_filter('woocommerce_product_is_on_sale', function($on_sale, $product) {
if (has_term('sale-category', 'product_cat', $product->get_id())) {
return false;
}
return $on_sale;
}, 10, 2);
Здесь мы скрываем статус распродажи для всех товаров в категории ‘sale-category’
Пример использования с пользовательским логикой:
add_filter('woocommerce_product_is_on_sale', function($on_sale, $product) {
$custom_price = $product->get_price() < 50;
return $custom_price ? true : $on_sale;
}, 10, 2);
В этом примере мы устанавливаем товар на распродажу, если его цена меньше 50
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить логику определения статуса скидки для товаров в WooCommerce
– Производительность
Следует избегать тяжелых вычислений внутри этого фильтра, чтобы не замедлять загрузку страницы
– Предупреждения
Убедитесь, что изменения не конфликтуют с другими плагинами или темами, которые могут использовать статус скидки
Альтернативы
Тип: filter
Этот хук позволяет изменить вывод цены товара, включая отображение статуса скидки
Используйте его, если нужно изменить визуальное представление цены товара в зависимости от статуса распродажи