Всем привет.
В корзине работает скрипт по добавлению скидки (сделан на основе налогов), который применяется или не применяется в зависимости от примененных купонов. Таких купонов больше 20 штук и через if проверять каждый как-то не разумно на мой взгляд, поэтому я в поиске как эту проверку сделать более элегантно. Пример прикладываю.
Надеюсь на любую помощь и советы конечно же :)
function woo_discount_total(WC_Cart $cart_object) {
if(in_array( wc_format_coupon_code( 'coupon_code_1'), $cart_object->get_applied_coupons() ) == false &&
in_array( wc_format_coupon_code( 'coupon_code_2'), $cart_object->get_applied_coupons() ) == false &&
in_array( wc_format_coupon_code( 'coupon_code_3'), $cart_object->get_applied_coupons() ) == false &&
...) {
$discount = $cart->subtotal * 0.05;
$cart->add_fee("Фиксированная скидка в 5% ", -$discount);
}
}
add_action("woocommerce_cart_calculate_fees" , "woo_discount_total");