Este sencillo fragmento de código te permite mostrar el campo de cupones solo cuando hay cupones disponibles y activos. Evita la visualización innecesaria del campo de cupones cuando no hay promociones en curso, mejorando así la experiencia del usuario en tu tienda.
// 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' );
}
