Описание woocommerce_coupon_is_valid_for_product
— Filter
Хук woocommerce_coupon_is_valid_for_product позволяет изменить логику проверки действительности купонов для конкретных товаров. Он срабатывает при проверке купона на странице корзины или оформления заказа, что позволяет разработчикам изменять условия, по которым купон может быть применен к товару
Примеры использования
Пример блокировки купона для определенной категории товаров:
add_filter('woocommerce_coupon_is_valid_for_product', function($valid, $coupon, $product) {
if (has_term('excluded-category', 'product_cat', $product->get_id())) {
return false;
}
return $valid;
}, 10, 3);
В этом примере купон недействителен для товаров из категории ‘excluded-category’
Пример ограничения действия купона по атрибутам товара:
add_filter('woocommerce_coupon_is_valid_for_product', function($valid, $coupon, $product) {
if ($product->get_attribute('color') === 'red') {
return false;
}
return $valid;
}, 10, 3);
Здесь мы блокируем применение купона к товарам, у которых атрибут ‘color’ равен ‘red’
Пример добавления условия на основе пользовательских метаданных товара:
add_filter('woocommerce_coupon_is_valid_for_product', function($valid, $coupon, $product) {
$custom_meta = get_post_meta($product->get_id(), '_custom_meta_key', true);
if ($custom_meta === 'no-discount') {
return false;
}
return $valid;
}, 10, 3);
В этом примере купон недействителен для товаров, у которых пользовательская метадата ‘_custom_meta_key’ равна ‘no-discount’
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо настроить условия применения купонов к товарам в WooCommerce
– Производительность
Хук может влиять на производительность, если логика проверки сложная, поэтому оптимизируйте код
– Предупреждения
Убедитесь, что изменения не мешают основным правилам скидок и не создают путаницы для пользователей
Альтернативы
Тип: filter
Этот хук позволяет изменить общую логику проверки купонов на уровне всей корзины, а не на уровне отдельных товаров
Используйте его, если необходимо изменить общие условия применения купонов, а не только для отдельных товаров