641 50 40 46 · hola@seoenunclick.com
Empresa de diseño web

Ocultar otros métodos de envío si el envío gratuito está disponible

Ocultar otros métodos de envío y mostrar únicamente envío gratuito

Cuando ofrecemos el envío gratuito en nuestra página web a partir de cierta cantidad, nos encontramos con el «problema» de que muestra diferentes opciones, pudiendo seleccionar el envío con coste o el envío gratuito.

Mostrar únicamente envío gratuito

Aunque el envío gratuito está disponible, no queda del todo bien mostrar el precio del envío con coste también.

Por ello, podemos introducir un breve código con el que vamos a conseguir que se muestre únicamente la opción envío gratis, la cual estará seleccionada por defecto en el checkout de la página..

Para ello, iremos a nuestro archivo functions.php (siempre del tema child o hacienod una copia de seguridad antes de modificarlo) e introduciremos el siguiente código.

Mostrar únicamente envío gratuito:

Oculta otros métodos de envío y dejar solo free_shipping si está disponible y es compatible con las zonas de envío.

/**
 * Mostrar solo envío gratuito.
 */
function my_hide_shipping_when_free_is_available( $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;
}
add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );
Mostrar únicamente envío gratuito