Описание woocommerce_coupon_get_apply_quantity
— Filter
Хук woocommerce_coupon_get_apply_quantity позволяет изменить количество товаров, к которым может применяться купон. Он срабатывает при проверке применимости купона к товарам в корзине и позволяет кастомизировать логику применения купонов
Примеры использования
Пример изменения количества применяемых товаров для купонов:
add_filter('woocommerce_coupon_get_apply_quantity', function($apply_quantity, $coupon, $cart) {
return 2;
}, 10, 3);
В этом примере мы устанавливаем количество товаров, к которым может применяться купон, равным 2
Пример ограничения применения купона только к определенным товарам:
add_filter('woocommerce_coupon_get_apply_quantity', function($apply_quantity, $coupon, $cart) {
$allowed_product_ids = array(123, 456);
foreach($cart->get_cart() as $cart_item) {
if(in_array($cart_item['product_id'], $allowed_product_ids)) {
return 1;
}
}
return 0;
}, 10, 3);
Здесь мы проверяем, есть ли в корзине товары с ID 123 или 456, и устанавливаем количество применяемых товаров в 1, если такие товары есть
Пример применения логики на основе типа купона:
add_filter('woocommerce_coupon_get_apply_quantity', function($apply_quantity, $coupon, $cart) {
if($coupon->get_discount_type() === 'fixed_cart') {
return 3;
}
return $apply_quantity;
}, 10, 3);
В этом примере мы устанавливаем количество применяемых товаров в 3, если тип купона ‘fixed_cart’
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить логику применения купонов к товарам в корзине
– Производительность
Хук не должен значительно влиять на производительность, так как изменения касаются только проверки условий применения купонов
– Предупреждения
Обязательно проверяйте условия применения купонов, чтобы избежать ошибок в расчетах
Альтернативы
Тип: filter
Этот хук позволяет проверять валидность купона и может быть использован для изменения логики применения купонов
Используйте его, если нужно добавить более сложные условия для проверки валидности купонов