Con este snippet para WooCommerce conseguimos que el campo de cupones solo sea visible si hay algún cupón activo, de lo contrario no estará disponible. De esta forma despejaremos el proceso de compra con menos elementos.
Snippet para mostrar el campo cupones solo cuando haya cupones activos en WooCommerce
// Oculta el campo para canjear cupones de descuento si no hay descuentos disponibles add_filter( 'woocommerce_coupons_enabled', 'disable_coupon_field_if_not_coupons_availables' ); function disable_coupon_field_if_not_coupons_availables(){ $coupons_availables = false; $args = array( 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'asc', 'post_type' => 'shop_coupon', 'post_status' => 'publish', ); $coupons = get_posts( $args ); foreach ( $coupons as $key => $coupon ) { $coupon_object = new WC_Coupon( $coupon->post_title ); if ( $coupon_object->is_valid() ) { $coupons_availables = true; break; } } if ( !$coupons_availables ) { return $coupons_availables; } return 'yes' === get_option( 'woocommerce_enable_coupons' ); }