Я реализовал код, который будет взимать комиссию за обработку в размере 1,50 доллара США для всех продуктов WooCommerce, если не используется код купона. Однако я хочу, чтобы плата за обработку была удалена только для одного купона, а не при использовании любого купона. Мысли? Ниже приведен мой текущий код, и единственный купон, к которому не должна применяться плата за обработку, — это QFPZ8KSS (идентификатор сообщения для купона — 4432, если это требуется).
add_action( 'woocommerce_cart_calculate_fees','conditional_handling_fee' );
function conditional_handling_fee() {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
// Get the applied coupons + the count (in cart)
$applied_coupons_arr = WC()->cart->get_applied_coupons();
$applied_coupons_count = count($applied_coupons_arr);
$fee = 1.50;
if( 0 == $applied_coupons_count )
WC()->cart->add_fee( ''.$applied_coupons_count, $fee, true, 'standard' );
}