Hola.
A ver si consigo explicarme.
Tengo la tienda configurada de manera de que los costes de envío son 5 euros, pero si la compra llega a los 100 es gratuita.
Cuando ocurre eso, que llegas a los 100 siempre vi absurdo que WooCommerse en la pasarela de pago da la opción al cliente de elegir entre pagar los 5 euros o hacer el envio gratuito. Nunca nadie va a indicar pagar 5 euros cuando tiene la opción gratuita.
Encontré el siguiente código que hace justamente eso, que cuando el envio es gratuito elimina la opción de los 5 euros en el carrito de compra.
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 );
Pues bien, hasta ahí todo correcto y ha funcionado perfectamente. Ahora queremos añadir la recogida local. Dicho código funciona correctamente cuando son compras inferiores a 100. Te da la opción de enviarlo por 5 euros o gratis recogiéndolo en tienda.
El problema viene, cuando supera los 100 euros. Que únicamente muestra el envio gratuito. La opción de recogida en local ese código la borra. Y aunque ambos métodos son gratuitos queremos que el cliente pueda escoger si quiere que se lo enviemos o lo recoge en tienda ahorrándose los tiempos de espera del envio.
Si borro el código, cuando son más de 100 euros aparecen las 3 opciones, que es lo que no me gusta y veo absurdo, sale envio 5 euros, gratuito y recogida en local gratis.
¿Alguien me podría ayudar a modificar ese código o algún plugin que haga lo que quiero hacer?
Muchas gracias y un saludo.
Contenido solo visible a usuarios registrados
Hola Jesus.
Puedes utilizar el siguiente plugin:
-> https://wordpress.org/plugins/wc-hide-shipping-methods/
Una vez instalado y activado.
.- Accede a Woocommerce -> Ajustes -> Envios -> Opciones de envío
.- Selecciona la opción " Hide all other shipping methods and only show "Free Shipping" and "Local Pickup "
El resultado es este:
Un saludo
Genial. Funciona perfectamente. Muchas gracias!!!
Hay veces que opciones y configuraciones tan basicas no vienen por defecto en WooCoomerse... En fin...
De nuevo gracias y un saludo!!!
Hola Jesús.
Nada Gracias a ti.
Pues sí, tienes toda la razon pero como tu dices, es lo que hay 😉
Me alegra que funcionara 😀
Ya sabes, cualquier consulta que tengas no dudes en comunicarlo 😉
Cerramos el tema.
Un saludo