En el comercio electrónico, ofrecer envíos gratuitos es una estrategia efectiva para captar más clientes. Sin embargo, mantener habilitadas otras opciones de envío puede generar confusión y provocar que los compradores elijan métodos de pago innecesarios. Por eso, en este artículo te enseñaré cómo ocultar opción de envío de pago si existe opción gratuita en WooCommerce, optimizando la experiencia de compra. Además, exploraremos cómo configurarlo para mostrar únicamente el envío gratuito o, si lo prefieres, incluir también la opción de recogida en tienda.
¿Por qué deberías ocultar opción de envío de pago si existe opción gratuita en WooCommerce?
- Evita confusiones para tus clientes: Mostrar múltiples métodos de envío puede confundir a los clientes, especialmente si el envío gratuito ya está disponible. Al simplificar las opciones, ayudas a mejorar su experiencia de compra.
- Aumenta las conversiones: El envío gratuito es un incentivo poderoso para completar una compra. Si los clientes ven métodos de pago adicionales, pueden pensar que el envío gratuito no es la mejor opción o incluso abandonar el carrito.
- Refuerza tu propuesta de valor: Al destacar el envío gratuito, refuerzas la percepción de que tu tienda ofrece un beneficio adicional frente a la competencia.
Cómo configurar WooCommerce para ocultar métodos de envío de pago si hay envío gratuito
Existen dos formas principales de configurar esto en WooCommerce, dependiendo de tus necesidades:
- Ocultar todos los métodos de envío excepto el gratuito.
- Permitir el envío gratuito y la recogida en tienda.
A continuación, te mostramos cómo implementarlo en cada caso.
Opción 1: Ocultar todos los métodos de envío excepto el gratuito
Si deseas que WooCommerce solo muestre el método de envío gratuito cuando esté disponible, puedes usar este código:
// Ocultar otros métodos de envío cuando el envío gratuito está disponible.
function my_hide_shipping_when_free_is_available( $rates ) {
$free = array();
// Buscar el método de envío gratuito.
foreach ( $rates as $rate_id => $rate ) {
if ( 'free_shipping' === $rate->method_id ) {
$free[ $rate_id ] = $rate;
break;
}
}
// Retornar solo el envío gratuito si está disponible.
return ! empty( $free ) ? $free : $rates;
}
add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );
¿Qué hace este código?
Este fragmento de código verifica si hay un método de envío gratuito disponible en el carrito.
Si existe, oculta cualquier otra opción, dejando solo el envío gratuito visible para el cliente.
Cuándo usarlo
Esta configuración es ideal si quieres garantizar que todos los clientes que califican para envío gratuito lo utilicen, eliminando cualquier posibilidad de error o confusión.
Suscríbete y aprende gratis
¿Te apasiona el mundo web? Únete a la newsletter y recibe en tu correo un pequeño resumen donde hablo sobre WordPress, diseño y desarrollo web.
Opción 2: Permitir el envío gratuito y la recogida en tienda
En algunos casos, puede que también desees permitir la opción de recogida en tienda junto con el envío gratuito. Para hacerlo, utiliza el siguiente código:
El siguiente código permite que el envío gratuito se muestre como una opción preferente, pero no oculta otros métodos de envío:
// Mostrar métodos de envío con preferencia por envío gratuito si está disponible.
function my_adjust_shipping_methods( $rates ) {
$available_rates = array();
// Siempre mantener disponibles todos los métodos de envío.
foreach ( $rates as $rate_id => $rate ) {
$available_rates[ $rate_id ] = $rate;
}
// Priorizar envío gratuito si está disponible.
if ( array_key_exists( 'free_shipping', array_column( $rates, 'method_id' ) ) ) {
uasort( $available_rates, function ( $a, $b ) {
if ( 'free_shipping' === $a->method_id ) {
return -1; // Prioridad al envío gratuito.
}
return 1;
});
}
return $available_rates;
}
add_filter( 'woocommerce_package_rates', 'my_adjust_shipping_methods', 100 );
¿Qué hace este código?
- Mantiene todos los métodos de envío disponibles: No se eliminan opciones como «envío estándar».
- Prioriza el envío gratuito si aplica: Si está disponible, el sistema lo mostrará al cliente como preferencia al principio de la lista, pero aún podrán seleccionar otro método si lo desean.
- Incluye recogida en tienda: Sigue siendo visible como una opción, junto con otros métodos de envío.
Cuándo usarlo
Este enfoque es perfecto si quieres ofrecer flexibilidad a tus clientes, permitiendo que elijan entre recibir el producto en casa sin costo o recogerlo directamente en tu tienda.
Optimizar las opciones de envío en WooCommerce no solo mejora la experiencia del cliente, sino que también puede aumentar tus conversiones. Al ocultar métodos de envío de pago cuando el envío gratuito está disponible, simplificas el proceso de compra y refuerzas el valor que ofreces.
Si además decides permitir la recogida en tienda, puedes seguir ofreciendo flexibilidad sin comprometer la claridad de tus métodos de envío.
¿Tienes alguna duda o me quieres compartir cómo te ha funcionado esta configuración? ¡Déjame tus comentarios! Me encantaría conocer tu experiencia. 🚀