/** * Descuento automático del 18% para Catering * Se activa cuando el subtotal de productos de Catering * es igual o mayor a $250 USD. */ add_action( 'woocommerce_cart_calculate_fees', 'hhc_catering_automatic_discount', 20 ); function hhc_catering_automatic_discount( $cart ) { // No ejecutar en administración, excepto durante AJAX if ( is_admin() && ! defined( 'DOING_AJAX' ) ) { return; } if ( ! $cart || $cart->is_empty() ) { return; } /* * IMPORTANTE: * Cambia 'catering' por el slug REAL de la categoría * de productos de Catering si es diferente. */ $catering_category = 'catering'; $catering_subtotal = 0; // Recorrer productos del carrito foreach ( $cart->get_cart() as $cart_item ) { $product = $cart_item['data']; if ( ! $product || ! $product->exists() ) { continue; } // Verificar si pertenece a la categoría Catering if ( has_term( $catering_category, 'product_cat', $product->get_id() ) ) { $line_subtotal = (float) $cart_item['line_subtotal']; $catering_subtotal += $line_subtotal; } } // Mínimo requerido $minimum_amount = 250; // Porcentaje de descuento $discount_percentage = 18; // Si Catering no llega a $250, no hacer nada if ( $catering_subtotal < $minimum_amount ) { return; } // Calcular descuento $discount = $catering_subtotal * ( $discount_percentage / 100 ); // Agregar descuento al carrito $cart->add_fee( 'Catering Discount (18%)', -$discount, false ); }
Skip to content