Ocultar opción de envío de pago si existe opción gratuita WooCommerce

[…]


por

Si utilizas WooCommerce y activas la opción de envío gratuito para, por ejemplo, un importe mínimo de compra o para una zona en concreto, verás que por defecto ese envío gratuito te aparece como una opción más además del coste de envío estándar, como una opción a escoger por el cliente, lo que no tiene mucho sentido en términos de usabilidad y puede confundir al usuario.

Envio gratuito WooCommerce

Para poder ocultar otras opciones cuando el envío gratuito está disponible, podemos usar esta función en nuestro código:

En caso de que el ecommerce también tenga disponible una forma de recogida en tienda, podemos utilizar el siguiente código que mantiene esa opción además del envío gratuito.

Si tienes problemas para que te funcione, prueba vaciando los datos temporales de WooCommerce en > Estado > Herramientas y las dos opciones primeras «Datos temporales de WooCommerce» y «Datos temporales caducados«

Recuerda que esté código debes ponerlo en el archivo functions.php de tu tema o un plugin de snippets.

Consulta aquí otros códigos útiles para WooCommerce

¿Eres implementador o desarrollador WordPress?

En la Zona DPW encontrarás más recursos, tutoriales, plantillas, y una biblioteca de snippets para poder utilizar en tu día a día y ganar tiempo en tu trabajo:

ACCEDER AHORA

Comentarios

6 respuestas a «Ocultar opción de envío de pago si existe opción gratuita WooCommerce»

  1. Avatar de David Lanau

    |

    Buenas tardes Esther:
    Creo que tienes un error en el código. debes cambiar en la línea 7
    «if ( ‘free_shipping’ === $rate->method_id ) {»
    Por esta otra
    «if ( ‘free_shipping’ === $rate->method_id ) {»
    Seguramente habrá sido un error de formateo.
    Gracias por la info de tu blog. Me gusta mucho tu contenido.
    Un saludo

    1. Avatar de esther

      |

      Muchas gracias David!
      Sí, son los dichosos símbolos > y < que a veces se me desconfiguran.... ya está cambiado. Saludos!

  2. Avatar de Marc

    |

    Hola Esther muy bueno! Me a funcionado muy bien gracias. Porque la verdad queda un poco feo las otras opciones, pero tengo un problema ahora, y es que si quieren recogerlo en tienda no se ve! se puede hacer de alguna forma que salgan las 2 opciones? Gracias y saludos

    1. Avatar de esther

      |

      Hola Marc!

      Cambio de respuesta! he añadido en el tutorial el código para seguir mostrando la opción de recogida en tienda junto con el envío gratuito, ocultando el resto.

      Saludos,

  3. Avatar de Dishopcol

    |

    Excelente trabajo el que haces, ya he visto algunos de tus post, pero no encuentro el que necesito. Ocultar opción de pago contra reembolso si existe opción de envío gratuita.
    De antemano muchas gracias.

    1. Avatar de esther

      |

      Gracias! Aquí tienes lo que un post que explica lo que preguntas: https://www.esthersola.com/ocultar-formas-de-pago-en-woocommerce-condicionalmente/

      Saludos!