Описание woocommerce_coupon_is_valid_for_cart
— Filter
Хук woocommerce_coupon_is_valid_for_cart позволяет изменять правила валидации купонов в WooCommerce. Он срабатывает при проверке купонов в корзине и позволяет настраивать условия их применения, влияя на функциональность скидок и акций
Примеры использования
Пример деактивации купона для определенной категории товаров:
add_filter('woocommerce_coupon_is_valid_for_cart', function($valid, $coupon, $cart) {
if (in_array('excluded-category', $cart->get_cart_item_category())) {
return false;
}
return $valid;
}, 10, 3);
В этом примере мы запрещаем использование купонов для товаров из определенной категории ‘excluded-category’.
Пример добавления условия на минимальную сумму в корзине:
add_filter('woocommerce_coupon_is_valid_for_cart', function($valid, $coupon, $cart) {
if ($cart->total < 50) {
return false;
}
return $valid;
}, 10, 3);
Здесь мы проверяем, что общая сумма в корзине должна быть не менее 50, чтобы купон был валиден.
Пример проверки на наличие определенного товара в корзине:
add_filter('woocommerce_coupon_is_valid_for_cart', function($valid, $coupon, $cart) {
$has_product = false;
foreach ($cart->get_cart() as $cart_item) {
if ($cart_item['product_id'] == 123) {
$has_product = true;
break;
}
}
if (!$has_product) {
return false;
}
return $valid;
}, 10, 3);
В этом примере купон будет валиден только если в корзине есть товар с ID 123.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо добавить дополнительные проверки для валидности купонов в WooCommerce
– Производительность
Хук может влиять на производительность, если проверки сложные или если в корзине много товаров
– Предупреждения
Следите за тем, чтобы изменения не конфликтовали с другими плагинами или функциональностью WooCommerce
Альтернативы
Тип: filter
Этот хук позволяет изменять валидность купона на более общем уровне, включая все аспекты его применения
Используйте его, если нужно изменить логику валидации купонов в других контекстах, помимо корзины