Описание woocommerce_coupon_is_valid
— Filter
Хук woocommerce_coupon_is_valid позволяет изменять логику проверки действительности купонов в WooCommerce. Он срабатывает во время проверки купона на странице корзины и оформления заказа, позволяя разработчикам добавлять свои условия для определения, является ли купон действительным или нет
Примеры использования
Пример отключения купонов для пользователей, не зарегистрированных на сайте:
add_filter('woocommerce_coupon_is_valid', function($is_valid, $coupon) {
if (!is_user_logged_in() && $coupon->get_code() === 'SPECIAL_COUPON') {
return false;
}
return $is_valid;
}, 10, 2);
В этом примере мы запрещаем использование специального купона для незарегистрированных пользователей
Пример добавления дополнительной проверки для купонов:
add_filter('woocommerce_coupon_is_valid', function($is_valid, $coupon) {
if ($coupon->get_code() === 'SUMMER_SALE' && date('Y-m-d') > '2023-08-31') {
return false;
}
return $is_valid;
}, 10, 2);
Здесь мы проверяем, что купон ‘SUMMER_SALE’ действителен только до 31 августа 2023 года
Пример изменения скидки, если купон действителен:
add_filter('woocommerce_coupon_is_valid', function($is_valid, $coupon) {
if ($is_valid) {
$discount = $coupon->get_discount();
if ($discount > 50) {
$coupon->set_discount(50); // Ограничиваем скидку до 50%
}
}
return $is_valid;
}, 10, 2);
В этом примере мы ограничиваем максимальную скидку купона до 50%, если купон действителен
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить логику проверки действительности купонов в WooCommerce
– Производительность
Изменения могут повлиять на производительность, если включены сложные условия проверки
– Предупреждения
Следите за тем, чтобы ваши изменения не нарушали стандартную логику проверки купонов, так как это может привести к недовольству пользователей
Альтернативы
Тип: filter
Этот хук позволяет изменять сумму скидки, применяемой купоном, после его проверки
Используйте его, если необходимо изменять сумму скидки на основе других условий, не связанных с действительностью купона
Тип: action
Этот хук срабатывает после применения купона, позволяя добавлять дополнительные действия
Используйте его, если нужно выполнить действия после успешного применения купона