¿No te parece una tontería en la mayoría de las ocasiones, estando disponible el envío gratuito, aparezcan otros métodos de envío al finalizar la compra?
Solo se nos ocurre una situación en la que es conveniente que aparezcan otros métodos de envío si existe el envío gratuito: cuando se ofrece entrega urgente o prioritaria... Sino no tiene sentido en absoluto.
Fácil! Añade esto al archivo functions.php del tema hijo de tu WordPress, o bien, crea un plugin para que, si cambias de thema, no pierdas esta configuración::
IMPORTANTE: ANTES DE HACER NADA, COPIA DE SEGURIDAD!
*/ // Ocultar modos de envio cuando está el gratis disponible function ejr_oculta_envios ($envios) { $gratis = array (); foreach ($envios as $envio_id => $envio) { if ('free_shipping' === $envio -> method_id) { $gratis [$envio_id] = $envio; break; } } return ! empty ($gratis) ? $gratis : $envios; } add_filter ('woocommerce_package_rates', 'ejr_oculta_envios', 100);
--------------------
Si conoces otros plugins de este u otro tipo que puedan ser útiles para cualquier usuario, coméntanos y los compartimos con mucho gusto!
© 2017–2023 Club WordPress Emprendedores Online
Aviso Legal & Políticas · CONTACTO
Mantenimiento WordPress Destaca.es
Buenas, tengo el mismo problema que el comentario pero solo coge el primer envío gratis que aparece, no incluye los envíos gratis que se hayan creado.
Excelente, muchas gracias por el código. Te hago una consulta, si además de ocultar todos los otros métodos de envío quisiera que aparezca también la opción de retirar personalmente, ¿habrá alguna forma de modificar este código para que aparezcan ambas opciones?
Hola!
En este caso (sin ver la web por dentro y como lo tienes todo configurado) la mejor opción es crear otro modo de envio gratuito pero sustituir la terminología del mismo por recoger en tienda, se ocultarían los demás dejando estos dos modos activos... se me ocurre...
Un saludo!