Описание woocommerce_product_class
— Filter
Хук woocommerce_product_class позволяет изменять классы, применяемые к элементам товаров в WooCommerce. Он срабатывает при выводе товаров на страницах магазина и позволяет настроить их стили и поведение
Примеры использования
Пример добавления кастомного класса к товарам со скидкой:
add_filter('woocommerce_product_class', function($class, $product) {
if ($product->is_on_sale()) {
$class .= ' on-sale';
}
return $class;
}, 10, 2);
Этот код добавляет класс ‘on-sale’ к товарам, которые находятся на распродаже
Пример добавления класса в зависимости от категории товара:
add_filter('woocommerce_product_class', function($class, $product) {
if (has_term('featured', 'product_cat', $product->get_id())) {
$class .= ' featured-product';
}
return $class;
}, 10, 2);
В этом примере, если товар принадлежит категории ‘featured’, будет добавлен класс ‘featured-product’
Пример изменения стандартного класса товара:
add_filter('woocommerce_product_class', function($class) {
return 'custom-product-class';
});
Здесь мы заменяем все классы товара на ‘custom-product-class’
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить классы товаров для стилизации или функциональности в зависимости от состояния товара
– Производительность
Хук не должен существенно влиять на производительность, так как изменения касаются только CSS классов
– Предупреждения
Убедитесь, что добавленные классы не конфликтуют с существующими стилями или скриптами на сайте
Альтернативы
Тип: filter
Позволяет изменять классы для любых постов, включая товары, но не предоставляет контекстуальных данных о товаре
Используйте, если нужно изменить классы для других типов постов или если контекст не важен