Si no aparece la opción «Ocultar otros métodos de envío cuando esté disponible el envío gratuito», puedes lograr este comportamiento ajustando las condiciones de envío manualmente o con un código personalizado.

Opción 1: Usar las reglas predeterminadas

  1. Ve a WooCommerce > Ajustes > Envío y selecciona tu zona de envío.
  2. Configura:
    • Un método de Envío gratuito con un pedido mínimo de 60 euros.
    • Un método de Tarifa plana con 5 euros como coste base.
  3. Aunque WooCommerce no oculte automáticamente el método de tarifa plana, el cliente podrá elegir envío gratuito si cumple las condiciones.

Opción 2: Usar un código personalizado

Puedes añadir este código a tu archivo functions.php para ocultar automáticamente otros métodos de envío si el envío gratuito está disponible:

add_filter( ‘woocommerce_package_rates’, ‘ocultar_metodos_envio_si_gratis_disponible’, 100 );
function ocultar_metodos_envio_si_gratis_disponible( $rates ) {
$free = array();
foreach ( $rates as $rate_id => $rate ) {
if ( ‘free_shipping’ === $rate->method_id ) {
$free[ $rate_id ] = $rate;
break;
}
}
return ! empty( $free ) ? $free : $rates;
}

Paso final

  • Guarda los cambios y recarga la página de checkout para verificar