Cómo usar las clases de envío en WooCommerce

Las clases de envío en WooCommerce nos permiten aplicar costes de envío diferentes en función de las características del producto. Pero lo realmente útil de esta opción es que se pueden agrupar productos similares por envío. Es decir, si en tu catálogo hay una serie de productos que necesitan un embalaje especial o son mucho más pesados que el resto, puedes definir una clase de envío que aplique una tasa extra a ese tipo de productos o directamente unas tarifas de envío completamente diferente del resto.

Las clases de envío te permiten optimizar los gastos de envío al máximo, ahorrándote muchos costes derivados de la manipulación para el envío de productos especiales y también ajustando al mínimo el coste de los gastos de envío al cliente. Este último aspecto es muy importante, sobre todo cuando trabajas con un precio único para los gastos de envío de tu tienda.

Optimiza los gastos de envío al máximo con las clases de envío en WooCommerce.

Para que se entienda más fácil, las clases de envíos funcionan de forma muy parecida a las categorías de productos, pero en este caso se usan para agrupar los envíos. De hecho, es muy común crear la clase de envío con el mismo nombre que la categoría de productos a la que se va a aplicar.

Como suelo decir siempre, la mejor forma de entenderlo es con un ejemplo práctico, así que voy a explicarte a continuación cómo lo he hecho yo.

Crear una clase de envío.

ACTUALIZACIÓN: La página de configuración de clases de envío ha cambiado a partir de la versión 2.6 de WooCommerce. A pesar de ello el funcionamiento sigue siendo el mismo y este tutorial sigue siendo válido.

Para crear una clase de envío, desde panel de administración de WordPress, hay que entrar en el apartado «Productos > Tipos de envío« «WooCommerce > Ajustes > Envío > Clases de Envío«. Una vez dentro de la página de clases de envío, basta con escribir el nombre que le queramos dar a la clase de envío y hacer clic en «Añadir una nueva clase de envío« «Añadir una nueva clase de envío«. Cómo he dicho antes, lo normal es poner el mismo nombre de la categoría de producto, pero puedes usar el nombre que quieras. El resto de campos los puedes dejar en blanco.

Crear clase de envío en WooCommerce

En este ejemplo yo estoy usando un único precio para los gastos de envío de todos mis productos, sin embargo he decidido ampliar mi catálogo de productos con una serie de máquinas de fitness.

Lo que ocurre es que estas máquinas son mucho más pesadas que el resto de productos de la tienda y además necesitan un embalaje especial para no dañarse con los golpes. Esto evidentemente supone un aumento considerable en el coste de los gastos de envío y es en estos casos cuando tiene sentido usar las clases de envío. Así sólo aplicaremos los costes extra a esos productos y el resto de productos del catálogo no verá afectados sus gastos de envío.

Configurar costes para las clases de envío en WooCommerce.

Por defecto en WooCommerce, las clases de envío sólo se pueden usar con el método de envío de «Precio único«. Por tanto, para configurar los costes de la clase de envío que acabo de crear, hay que entrar en «WooCommerce > Ajustes > Envíos > Precio único«.

Una vez dentro de la página de configuración del método de envío, abajo en la sección «Costes adicionales» hay una tabla de costes, simplemente hay que hacer clic en «Añadir coste» y en la columna «Clase de envío» seleccionar la clase de envío para la que queremos definir el coste e introducir los costes correspondientes en las otras 2 columnas. Obviamente, debes hacer clic en «Guardar cambios» para que se queden registrada la nueva configuración.

A continuación te muestro un ejemplo de cómo lo he configurado yo.

Configurar costes de clases de envío en WooCommerce

En este caso he definido un coste adicional de 8 euros (sin incluir impuestos) para los gastos de envío de productos de la categoría «Máquinas fitness«. Los costes correspondientes a los gastos de gestión los he dejado en blanco.

En tu caso dependerá de la tarifa que te imponga la agencia de paquetería con la que trabajes.

Aplicar clases de envío a los productos de WooCommerce.

Por último sólo queda aplicar esta clase de envío a los productos que quieras que se le aplique el coste adicional.

Para aplicar una clase de envío a un producto determinado basta con entrar a la página de edición del producto y abajo en el apartado de «Información del producto«, clicar en la pestaña «Envío«. Dentro verás un campo llamado «Tipos de envío«, ahí es donde tienes que seleccionar la clase de envío que deseas aplicar. Una vez la hayas seleccionado, haz clic en «Actualizar» para que se guarde la configuración.

Aplicar clase de envío a producto WooCommerce

También puedes hacer esto desde el listado de productos con la opción «Edición rápida«. Para ello entra en la página «Productos«, sitúa el cursor del ratón encima del producto en cuestión y después haz clic en «Edición rápida«. A continuación se desplegará un panel con muchos campos para editar, tú simplemente marca la casilla de la clase de envío de WooCommerce que desees aplicar y después haz clic en «Actualizar» para guardar los cambios.

Aplicar clase de envío a lista de productos WooCommerce
Clic en la imagen para agrandar

Con esto, ya tengo configurada la clase de envío para la categoría de productos «Máquinas fitness» de mi ejemplo.

Ahora para ver si se aplica correctamente el coste extra de la clase de envío, añado al carrito algún producto que no pertenezca a la categoría «Máquinas fitness» y me fijo en los gastos de envío que se aplican.

Después añado a la misma compra un producto de la categoría «Máquinas fitness» y si todo se ha configurado correctamente, esta vez los gastos de envío deben ser 8 euros más caros. Digo 8 euros porque es la cifra con la que yo he configurado los costes de mi clase de envío, pero en tu caso debe de coincidir con la cifra que tú hayas usado.

A continuación te muestro una captura de los gastos de envío antes y después de meter en el carrito un producto de la categoría  «Máquinas fitness«:

Costes de clase de envío en el carrito de WooCommerce

Saber sacar partido de las clases de envío en WooCommerce te puede ahorrar muchos dolores de cabeza cuando trabajas con productos con gastos de envío muy dispares.

Si realmente quieres exprimir al máximo el uso de las clases de envío, te recomiendo que eches un vistazo a este artículo, «Gastos de envío en WooCommerce para diferentes países» 🙂

Si hasta ahora usabas el método de envío de pago único, te recomiendo que revises los costes de envío de tus productos e identifiques aquellos que tengan un coste superior al resto para crear una clase de envío específica a ese tipo de productos.

74 comentarios en “Cómo usar las clases de envío en WooCommerce”

  1. Buenas tardes,
    Quiero comenzar a usar woocommerce para una distribuidora de alimentos mayorista. Siempre hacemos envíos gratis pero necesito que alguna opción me permita colocarle a los productos sus medidas y peso. Para que luego me los agrupe por zona o código postal. Y no excedan todos los pedidos la capacidad de nuestro transporte. Muchas veces no entran todos y tenemos que reprogramar algunos para el siguiente día. Espero tu respuesta. Graciassss

  2. Hola,
    Gracias por el aporte. Tengo un pregunta que quizá alguno de tus plugins me resuelva.
    Dispongo de un producto variable (ramo de flores) que se puede comprar para ser enviado durante 1, 3 o 6 meses y con frecuencias semanales, quincenales y mensuales. La configuración es buena, si compro el ramo durante 3 meses con frecuencia quincenal, woocommerce calcula 2 ramos por 3 meses y multiplica el coste de cada ramo por 6. No hay quejas. El problema viene ahora. en el checkout me añade el envío de un sólo ramo. Hay alguna manera de que igual que contabiliza 6 ramos añada 6 portes?? Los portes los tengo configurados por código postal y varían muchísimo por lo que al contabilizar sólo un envío puedo perder muchísimo con los portes. Espero haberme explicado bien. Gracias de antemano y enhorabuena por el blog.

    1. Hola Iñigo!

      Se podría hacer con mi plugin de envíos Super Shipping asignando cada variación a su clase de envío correspondiente (envío 1 mes, envío 3 meses y envío 6 meses) y configurando las reglas de envío con el tipo de cálculo «Por clase de envío» (más info aquí).

      De esa forma, si alguien compra la opción de 3 meses, se le aplicarán los gastos de envío de 6 ramos y NUNCA de 1 solo.

      Espero que te sirva.

      Saludos!!

  3. Hola Antonio.
    Tu web me sirve de mucho es una agran ayuda, pero he estado buscando y no encuentro algo que me pueda solucionar mi problema.
    Tengo un woocommerce de venta de productos naturales de alimentación, hay productos en seco y otros refrigerados, los productos secos van con una empresa de mensajería Correo Express, y los refrigerados con Seur Frio, y claro en un pedido mixto no me especifica que producto me va a una clase de envió, o sea que si hay 3 productos de seco y 4 de refrigerados pudiera selecionar de cada tipo y enviarlos al plugin de envió de cada empresa.
    No se si esto se puede hacer, existe alguna soluciona, o ya definitivamente estoy pidiendo una locura.
    Gracias , saludos y sigue asi.

  4. Buenas tardes, Antonio

    Lo primero agradecerte las veces que me has ayudado con tus artículos!

    Ahora mismo me enfrento a un «problema» en la web e igual tu sabes cómo puedo solucionarlo. Te cuento:

    Tengo productos que vengo a nivel nacional, hasta ahí sin problema. Y tengo otros productos que por sus características necesito que sólo y exclusivamente sean para recoger en tienda y que encontré la forma de programarlo. Necesito un plugin para que esos productos sean sólo para recoger en tienda?

    Muchísimas gracias de antemano,
    Ismael

  5. Hola que tal… escribo porque necesito ayuda… No he podido configurar el valor del envío, precio fijo en woocommerce. No deseo agregar clases de envío, sólo un precio único… puedes ayudarme por favor !!!!??? te lo agradeceria mucho!!

  6. Buenas Antonio,
    tengo un problema y me gustaría saber si tu plugin pudiera ayudarme, te comento: tengo una categoria de producto que solo se puede vender dentro de un codigo postal, si intento venderlo fuera en una compra mixta con otrso producto que si pueden venderse fuera, se efectua la compra. De lo contrario si intento venderlo fuera SOLo con una compra homogenea de este producto restringido, NO me hace la compra. esde luego, el 1er caso es el que es incorrecto. ¿puede ayudarme tu plgin?

  7. Hola Antonio!!
    Existe algun modo de seleccionar metods de envío por productos o categorias, condicionados ademas por la zona? Este es el escenario:
    1- Tengo varios metodos de envíos (plugins de compañias de envios) que funcionan correctamente por zonas, peso, etc
    2- Para la Zona: Santiago, necesito habilitar retiro en tienda de los que viven en el area. (lo logré con el metodo Local pickup dentro de la zona SANTIAGO) Este metodo no deberia inhabilitar a otros
    3- Para la misma Zona: Santiago, habilité otro Local Pickup (con nombre Instalaciones) destinado a productos que opcionalmente se pueden instalar en la tienda como radios para automoviles, etc. Deberia estar condicionado para productos especificos
    4- Para la misma Zona: Santiago, es necesario habilitar free shipping que se utiliza para productos especificos a modo promocion. Entonces habilité un Free shipping en la misma zona.

    El problema es que al no haber como condicionar esto a categorias, o productos seleccionados, en el carro de compra cualquier producto cuyo destino sea Santiago, se muestra con todas las opciones lo cual no tendria sentido en algunas combinaciones:
    – Retiro en tienda: 0.0 USD
    – Instalaciones: 0.00 USD (para prod especificos)
    – Free shipping: 0.00 USD (para productos especificos)
    – Courrier: 25.00 USD

    Conoces alguna forma de resolver este lío?
    Saludos

  8. Hola, en primer lugar mil gracias, descubrí tu sitio ayer y me parece muy interesante. Refiriendome a este artículo tengo un problema. Estoy creando mi primer ecommerce y todos los productos tienen el envio incluido salvo una categoría que tiene 5€. Cuando lo activo y realizo las pruebas logueado todo perfecto. El problema viene cuando me deslogueo o entro en modo incognito entonces los gastos de envio parecen no estar activados y no los carga en el carrito. ¿Que estoy haciendo mal?

    Un cordial saludo y mil gracias.

  9. Hola! Lo primero muchas gracias por los contenidos que publicas, nos salvan la vida a más de uno en muchas ocasiones.
    He estado investigando sobre las clases de envío y me encuentro con un problema.
    Actualmente mi base de datos de productos se actualiza de forma automática cada noche con un CSV de mi proveedor, por lo que tendría que estar día a día revisando los productos nuevos para añadir la clase de envío.
    Habría posibilidad de asignar un clase de envío a una categoría de producto en lugar de a un producto concreto??

    Muchísimas gracias de nuevo.

    1. Hola Luis!

      Si se puede. Tienes que hacer esto:

      1. Te vas a «Productos > Todos los productos», filtras por la categoría que quieras y seleccionas todos los productos.
      2. En el selector de «Acciones en lote» (arriba del listado a la izq), seleccionas Editar y le das a Aplicar
      3. Ahora ya podrás editar muchos de los campos de esos productos en lote, entre ellos la clase de envío

      Espero que te sirva 😉

      1. Muchas gracias!
        La verdad resuelve mi problema pero solo a medias. Tendría que seguir haciendo las modificaciones manualmente y día a día por si se ha dado de alta algún producto de mi proveedor de forma automática.
        Se resolvería pudiendo asignar la clase directamente a una categoría de productos. La única forma es como dices?
        Gracias de nuevo.

  10. Hola!
    Primero que nada, excelente sitio web! Me has salvado la vida varias veces.
    Tengo un problema que no se si hay forma de configurarlo directamente desde WooCommerce o tu plugin de envíos puede ayudarme, te explico:

    En nuestro sitio web vendemos productos alimenticios, tanto producto seco como producto congelado. Para el producto seco estamos trabajando con Packling Pro y ya tenemos configuradas un par de empresas de transporte.

    El problema es que para el producto congelado no podemos utilizar las mismas empresas de transporte que para el producto seco ya que las furgonetas no están acondicionadas para ello, por lo que queremos habilitar únicamente la venta de producto congelado para la zona de Madrid y transportarlo nosotros mismos, por lo que, si en el carrito de compra se ha agregado aunque sea 1 producto congelado, quiero que se deshabiliten los otros métodos de envío y solo se active un método de envío con precio único de 7€. ¿Cómo puedo hacer esto?

    Evidentemente, también necesito configurar que si hay un producto congelado en el carrito, solo se pueda finalizar la compra si se está dentro de Madrid.

    He visto que recomiendas un Plugin de envíos realizado por ti pero desconozco si cumple con lo que necesitamos.

    Un saludo!!!

    1. Hola Jonathan!

      Ahora mismo Super Shipping no permite hacer eso, pero estoy trabajando para incluir la restricción de envíos en la próxima versión 😉

      Saludos!

  11. Muy buen post Antonio,
    No había conseguido que me funcionaran las clases de envío con otros post sobre el tema que había encontrado por la web. Con tus explicaciones, ha sido coser y cantar. Muchísimas gracias.

  12. hola! buen post, tengo un problema quizás sepas a que se debe o si algo hice mal, configuré clases de envío con precios para productos grandes, medianos y pequeños, hasta ahí todo bien, no tengo problema en los pequeños y medianos, el problema son los grandes: supongamos que el usuario agrega al carrito una lavadora (con precio de envío X) pero quiere completar con una secadora (con precio de envío X), el courier en este caso me cobra por cada uno de los articulos, sin embargo en woocommerce se calcula solo el valor de UN envío por los dos productos, es decir no calcula un envío individual (X+X=Y) sino uno por todo el pedido (X), espero me haya hecho entender y si tienes la respuesta me serviría increíblemente, gracias por leer 😀

  13. Hola. Tengo un problema con el cálculo de los gastos de envío.
    Tengo distintas zonas de envío y dentro de cada una 2 tipos de envíos: uno urgente y otro estándar.
    En la zona de España y Portugal funciona todo correctamente, pero en el resto de zonas independientemente del tipo de envío que seleccione siempre se aplica el precio del envío urgente al total.
    El envío estándar lo toma de la aplicación de MRW y el urgente del los ajustes de woocommerce-envíos-zonas de envíos.
    Como indicaba en la zona de España y portugal funciona todo correctamente, pero en el resto de zonas no, incluso con las mismas características y opciones que la zona anteriormente mencionada.
    Necesito ayuda con esto ya que escapa a mi comprensión el porqué en unas zonas funciona bien y en otras no.
    Muchas gracias.

  14. emanuelapetri@gmail.com

    Hola!
    he comprado e instalado el plugin y seguido la documentación oficial para crear las tablas, pero no me aparecen los tipos de envio en los productos. Tengo la version wordpress 4.9.8. Y no funciona

    1. Hola Emanuela!

      Las consultas de soporte de clientes del plugin de envíos debes enviarlas a través del formulario de contacto de la pestaña «Soporte plugins» que encontrarás haciendo clic aquí.

      Un saludo!

  15. Hola Antonio,
    Muy buena tu ayuda pero a mí lo que me pasa es que quiero que avise a Canarias de que se pongan en contacto y nos les deje terminar el proceso de compra. Como si saliera un pop up o algo así. Pero no que desaparezca. Con tu plugin se puede ?
    Muchas gracias

  16. buenas tardes, tengo una tienda en la que tengo productos inmediatamente y otros que los importo, quiero dar la opción en cada producto se muestre la fecha estimada de entrega, si conocen algún plugin que sea gratuito les agradecería.

  17. Hola,

    Por favor me pueden ayudar, implemente el pluging de Chileexpress el cual carga las comunas de chile sin ningun problema, pero cuando un usuario ya se registró, en su siguiente compra no queda seleccionada la ciudad, habrá un snippets que me pueda ayudar con esto.

  18. Hola!

    Tengo un e-commerce, y realizo envíos a toda la península, pero ciertos productos solo quiero realizar envíos dentro de Madrid (por problemas de logística). Como podría hacerlo

  19. Hola Antonio,

    Gracias por el tutorial! Me encuentro con un «problema» y no se cómo resolverlo. Yo tengo un precio fijo para todos los productos. Pero hay un producto en concreto que me gustaría que el envío fuera más barato. Son postales. Y si solo se quiere comprar postales pues que en vez de la tarifa fija de 5,95€ fuera 1,5€ por ejemplo. Se podría hacer una clase de envío en negativo? Es decir que restara del precio fijo de envío? Alguna otra solución? He pensado con un cupón pero no acaba de quedar muy claro… y además lo tienen que activar manualmente…no veo opción de que el cupón se aplique cuando se añada el producto…

    Muchas gracias de antemano!

    1. Hola Cristian. Tengo una necesidad parecida a la tuya y la he solucionado creando una clase de envío (Tarifa reducida productos X). Luego, en mi caso, en Zonas de envío > ESPAÑA Península > Precio único me aparece abajo «Tarifa reducida productos X» y ahí le aplico un coste negativo (-8,265). Automáticamente a los productos de dicha zona de envío se le aplica el precio que yo quiero (los envíos son a 20€ para todos los productos de ESPAÑA Península y los que tienen la clase «Tarifa reducida productos X» tienen como precio 10€. Yo uso los precios sin IVA a la hora de entrarlos (8,265 + 21% = 10€). En los datos del producto que te interese el precio menor, en Clase de envío seleccionas «Tarifa reducida productos X» en el desplegable.

  20. Gracias por el tutorial!!! aunque yo me encuentro con el siguiente problema: Tengo una tienda donde todos los productos quiero que lleven el mismo coste de envío para toda la península , cuando añado productos al carrito siempre me sale este error : No hay métodos de envío disponibles. Por favor revisa de nuevo tu dirección, o ponte en contacto con nosotros si necesitas cualquier ayuda.

    Por mas que intento solucionarlo no doy con ello !! Mil gracias!

    1. Hola Chandra,

      Para eso no te hacen falta clases de envío, basta con que crees la zona de envío para península y le añadas un método de envío de precio único con un coste fijo para todos los productos.

      Si te dice que no hay métodos de envío disponibles puede ser principalmente por 2 motivos:

      1- No has configurado bien la zona de envío.
      2- Has introducido una dirección de envío que no coincide con ninguna de las zonas de envío que tienes creadas.

      Saludos!

  21. Hola Antonio, genial tu artículo, pero tengo una duda que no sé si se puede hacer directamente con woocommerce o hay que usar algún plugin.
    Tengo una serie de artículos con su correspondiente peso, unos pesan 15 kilos y otros 16. En primer lugar me surge la duda de si woocommerce ¿puede calcular los portes según el peso?…. Sigo…, he definido tres zonas de envío, una andalucía, en la que están las 8 provincias, otra la zona centro en la que hay otra serie de provincias y otra la zona norte en las que hay más provincias. En función de la zona a la que se envíe (dirección del cliente) y del peso del producto se tiene que aplicar una tarifa u otra, por ejemplo, un producto de 15 kilos enviado a la zona andalucía vale «X», enviado a la zona centro vale «Y» y enviado a la zona norte vale «Z». ¿Cómo se controla esto? ¿Lo puede hacer woocommerce directamente o tengo que usar un plugin? En caso de tener que usar un plugin ¿Cuál me recomiendas? Échame una mano que me estoy volviendo loco

    Utilizo WordPress versión 4.7.5 y woocommerce 3.0.7

    1. Hola Cipri,

      Para configurar envíos por peso te recomiendo mi plugin avanzado de envíos WooCommerce Super Shipping. Tienes más info haciendo clic aquí.

      Saludos!

      1. Quería ir a la demo de tu plugin pero me sale un error:

        No se puede acceder a este sitio web

        No se ha podido encontrar la dirección DNS del servidor de plugins.staging.woodemia.com.
        DNS_PROBE_FINISHED_NXDOMAIN

  22. hola que tal, en primera muchas gracias por el tutorial me a resultado muy útil, sin embargo tengo una duda. ¿Puede agregarse más de un tipo de envió a un producto? Es decir para que el cliente seleccione el tipo de envió que más le agrade por ejemplo elegir el tipo de paquetería con el que le gustaría realizar el envió.

    1. Hola María,

      Si, si se puede. Pero para eso tendrías que crear un método de envío nuevo por cada agencia de mensajería que vayas a ofrecer y por supuesto, cada una con su tarifa correspondiente.

      Saludos!

  23. Hola Antonio tengo una super duda de como hacerlo.
    Como se puede hacer para que un producto tenga dos opciones de envio solo para ese producto
    Ejemplo.
    Mueble Tv
    | Envio & Embalaje
    | Retiro del Showroom

    Muchas gracias por tu atencion.

    1. Hola Nicolás,

      Con mi plugin de envíos avanzados WooCommerce Super Shipping podrías hacerlo (tienes más info aquí). Eso si, debes saber que si se añaden al carro otros productos con diferentes opciones de envío, se mostrarán todas, incluidas las 2 opciones exclusivas de tu producto especial.

      Saludos!

  24. Buenas.
    En primer lugar te felicito por el post, muy completo. Así mismo, tengo una duda y problema que quizás sepas como resolver tras woocommerce 2.6. Teníamos 2 métodos habituales de envío, uno era urgente 24hs para productos en stock y el otro era 10 días para productos que teníamos que pedir a fábrica, osea básicamente nuestros envíos se diferenciaban en tiempo de entrega. Manejabamos esto simplemente usando una clase de envío para los productos con entrega 24hs y por defecto para los demás. La cuestión es que ahora no sabemos como hacerlo, puesto que si agregamos la opción Precio Unico, la misma no discrimina la clase de envío por producto, solo el coste y enseña en los productos con 10 días también la opción 24hs. Sabrían como hacerlo?
    Saludos.

    1. Hola Gabriel,

      Si lo que quieres es que cuando pidan un producto de envío en 10 días, se le muestre al cliente solo la opción de envío en 10 días y no ambas, eso lo puedes hacer fácilmente con mi plugin WooCommerce Super Shipping. Échale un vistazo a la documentación aquí y prueba la demo.

      Saludos!

  25. Hola Antonio, me encanta tu web y ya me he suscrito, tus artículos son interesantes y muy útiles… Llevo como un par de meses buscando una solución para una cosa que seguramente será una chorrada pero no consigo que funcione. Tengo una web con más de 70 categorías de productos y lógicamente cada clase de producto tiene unos gastos de envío distintos. Nosotros siempre trabajamos con envíos gratuitos a partir de una cantidad de compra. Bien, en teoría en woocommerce 2.6 puedo crear las clases de envío para los productos que yo quiera, pero necesito que a partir de una cantidad el envío sea gratis (esa cantidad varía para cada clase de producto)… Al crear esas clases de producto y poner el coste y rellenar el campo «clase de envío sin coste» (por ejemplo 600) esa cantidad la suma al coste del envío cuando lo que debería hacer es hacer que la clase del envío fuera gratis no??
    Me estoy volviendo un poco loco con esto, te agradecería si tienes alguna idea.

    Muchas gracias de antemano y enhorabuena con el blog

    1. Creo que lo de clase de envio sin coste esta mal traducido y realmente es «Ninguna clase de envio», es decir, coste adicional para los productos que no tengan clase de envio asignada

  26. Hola Antonio,felicidades por tu página, me está ayudando mucho.
    Mi pregunta es,si un producto me cuesta por ejemplo 5€de gastos de envío,y quiero que el cliente,si quiere añadir otro artículo no se le cobre el doble de los gastos, sino un suplemento de 2 euros para que el total sean 5+2,y si quiere mas,ir sumándole 2€a cada envío?

  27. Hola Antonio,

    Muy buen post, muchas gracias!

    Tengo una pregunta, en vez de aumentar el precio del transporte para un producto, me gustaría disminuirlo. Es posible hacer una clase de envio con el objetivo que en vez de añadirle un sobrecoste, puedas restarle una cantidad?

    Gracias!

    1. Me sumo a duda.
      Si dicho artículo supondrá un gasto de envío superior o «diferente» el cliente debería de saberlo cuando está valorando el producto.
      entonces: ¿Hay alguna manera de hacer ver al cliente cuando dicho producto tiene condiciones especiales en su envío?

      1. Hola Eduardo,

        Se podría hacer desarrollando un plugin a medida para eso o modificando el tema. Te lo digo porque yo personalmente no conozco plugins que muestren esa info en el carro.

        De todas formas, no creo que al cliente le importe mucho saber que un producto determinado tiene un sobrecoste en el envío. Lo que le interesa es saber los gastos de envío totales de todo el carrito.

        Saludos!

  28. Hola Antonio!
    A ver si rizamos un poco más el rizo! Tengo que hacer dos cosas diferentes y no sé si es posible
    1º Hago envíos con dos agencias, una más económica y otra más cara y además tiene diferentes tarifas según se envíe a península o baleares. ¿Cómo hago esto? Algún plugin?
    2º Vendo también al por mayor a algunos distribuidores que tengo (utilizo el plugin pricing and discounts para ponerles precios distintos) y, dado que los pedidos que hacen son mucho más grandes que el cliente final que suele comprar, me gustaría incrementarles los gastos de envío.

    Ambos grupos tienen envío gratis a partir de cierta cantidad, pero evidentemente la cantidad es distinta para unos y otros.

    No se si me explico. Imagino que algo debe haber por ahí. Muchísimas gracias por tu trabajo! Es espectacular!

    1. Hola Ana,

      Disculpa por el retraso. No doy abasto con los comentarios :-/

      El primer requisito lo puedes solucionar perfectamente con mi plugin premium WooCommerce Super Shipping. En esta entrada te muestro todas las opciones que tiene y varios ejemplos de uso.

      El segundo requisito es una funcionalidad que ya me han solicitado otros lectores y que voy a añadir en la próxima versión de mi plugin WooCommerce Super Shipping que liberaré para el próximo mes.

      Si estás interesada en adquirirlo y tienes más dudas que resolver antes de comprarlo, puedes enviarme un email a contacto[arroba]woodemia[punto]com con el asunto [Plugin Woodemia]

      Un saludo!

  29. Hola Antonio,

    Antes que nada, me parece muy útil tu blog…Voy configurando woocommerce poco a poco con él…. Te comento, tengo el plugin de APG shipping/weight…. para los cálculos de envíos a España e internacionales según peso, etc….

    El caso es que tengo shipping class en flat rate definidas para artículos frágiles…Según explicas, estos gastos se deberían «sumar» al coste del porte correspondiente.

    Por el contrario, lo que me hace en el checkout es darme a elegir: Flat Rate, o Envío que yo configuro.

    ¿Se te ocurre cómo puedo solucionarlo?

    Gracias

    1. Hola David,

      La tasa extra de envío para los productos frágiles no se muestra desglosada, si es lo que esperabas, sino que ya aparece incluida en el precio final del método de envío para el que la estés usando.

      Un saludo!

  30. Hola Antonio

    Estoy usando el plugin de apg para calcular diversos envíos según peso país y demás
    Intento añadir un coste extra para clase de envió frágiles…pero,al checkout, lo que hace es darme a elegir entre precio único y el precio calculado por el plugin….

    Sabrías comentarme algo al respecto?

    Gracias

    1. Hola David,

      No sabría decirte exactamente cómo funciona el plugin de APG porque no he trabajado con él, pero si lo que quieres es que el coste extra asignado a la clase de envío se muestre desglosado en el carro o la página de pago, eso no va a ocurrir.

      El coste extra se suma al total del gasto de envío y por eso solamente te muestra los 2 métodos de envío que tienes activos.

      Espero haberte ayudado.

      Saludos!

  31. Buenas tardes Antonio, y muchas gracias por tu ayuda en este blog, lo visito bastante y me ha sido de gran ayuda para crear mi proyecto http://www.tiendasurf.online

    tengo una duda con los gastos de envío, y es que tengo configurado para que los pedidos de mas de 60€ sean gratuitos, pero también tengo un envío de tablas de surf que el coste es más elevado por lo delicado de las tablas necesitan un embalaje especial y el precio es elevado debido a su volumen.

    el problema es que si alguien compra dos artículos, uno de más de 60 con envío gratis, y una tabla con envío especial, al pasar de los 60€ el precio total lo calcula aplicando el envío gratuito.

    Se te ocurre cómo puedo solucionarlo?

    muchas gracias

    un saludo!

  32. Buenos días Antonio, mira mi duda o problema es el siguiente, mi cliente (art9gallery.com) es una galería de arte, que tiene todo tipo de obras cuadros, estatuas, de todos los tamaños y pesos; le pido la información la crear los gastos de envío, y me dice que es imposible calcular eso que ponga un texto explicando al cliente ( comprador de alguna obra) que los gastos son apartes y que obviamente se le informará de cuanto es, mi pregunta es, cómo hago eso? si hay algún plugin ó alguna mas simple de hacerlo, uffff.
    Muchas gracias por la ayuda.

    1. Hola Matías,

      Pues en ese caso deberás desactivar los gastos de envío y usar algún plugin como por ejemplo; «Cart Notice» para mostrar el mensaje de aviso en la página del carro y en la de pago.

      También puedes sustituir el texto por defecto de «No hay métodos de envío disponible…» por uno personalizado en el que expliques que los gastos se calculan de forma manual para cada pedido. Puedes hacerlo pegando el siguiente código en el functions.php de tu tema:

      Espero que te sirva.

      ¡Saludos!

  33. Hola, acabo de aterrizar en tu blog pero me encanta. Creo que está todo muy bien explicado, presentado y detallado.

    Felicidades.

    Yo necesito ayuda con mi woocommerce y tal vez me puedas echar una mano…. : )

    Es la primera vez que monto un e-commerce, es para un cliente. Es una tienda muy sencilla, únicamente tres productos. Te invito a echarle un vistazo

    www.eazybbq.com

    Estos productos tienen unas características: están disponibles para todo el mundo, pero directamente solo se venden en España.

    Las compras que tengan como dirección de entrega, una dirección fuera de España me gustaría que saliera un mensaje donde informase que para entregas fuera del territorio Español, por favor póngase en contacto con nosotros vía e-mail para ultimar los gastos de envío así como la forma de pago.

    Por otra parte, las compras superiores a 20 € tienen el envío gratuito dentro de la península Española, queda excluido Islas Canarias y Baleares. Como lo hago??

    Puntos:
    Poner portes para la península española XXX€ (excluir Islas Canarias y Baleares)

    Poner portes gratuitos para compras superiores a 20 € (solo para península española). Esto ya está puesto pero a la hora de comprar me sale la opción de clicar envío gratuito o la tarifa normal. ?¿?¿?

    Hacer que cuando alguien de fuera quiera comprar fuera de la península española, lo dirija a un formulario de contacto, el pedido de compra y la dirección de entrega.

    Muchas gracias por tu ayuda,

    1. Hola meritxell,

      Gracias! Me alegra mucho saber que te está siendo útil el blog 🙂

      Te contesto por encima (son demasiados puntos para contestarlo en un comentario).

      Para la configuración de gastos de envío gratuito puedes usar el plugin «Advanced Free Shipping«.

      Y lo de mostrar el mensaje para ponerse en contacto con vosotros si el comprador es de fuera de España, no conozco ahora mismo un plugin que te permita hacer eso, así que habría que desarrollarlo o incluso de podría hacer con un código snippet.

      Si necesitas una solución más detallada, puedes contratar mi servicio de consultoría enviándome una solicitud a través del formulario de contacto.

      Por cierto, muy chula la tienda 😉

      Un saludo!

  34. Hola Antonio,

    Quiero agradecerte de antemano el gran trabajo que haces con los tutoriales de woocommerce, porque nos has salvado la vida a más de uno.

    Por otro lado comentarte una duda que me lleva por el camino de la amargura. Estoy intentando configurar que el cliente pueda recoger el producto en la tienda física, pero no consigo hacerlo sin que me calcule el contrarreembolso.

    Si desde Pago en entrega, deshabilito la opción para metodos de envío, quitando la recogida local, solo me deja pagar con paypal. La idea es dejar al cliente la opción de elegir que pueda recogerlo en tienda y pagarlo alli. ¿Cómo debería hacerlo?

    Uso la versión 2.4.7 de woocommerce.

    Mil gracias.

  35. Hola Antonio,

    Gracias a tu blog he podido entender como funciona un poco esto de los gastos de envío. Mi consulta es la siguiente:
    Tengo en mi tienda 2 productos básicamente; uno con un coste de envío de 85€» por artículo» y otros que deben ser de 10€ «por pedido» (es decir, el cliente puede elegir 3 unidades y el coste de este último sería 10€). Cuando configuro los costes de envío me «obliga» a elegir entre que el coste se aplique a cada artículo o al pedido en total. Es aquí donde tengo mi problema: si un cliente elige un producto de coste de envío de 85€ y otro de 10€ no hay problema porque puedo seleccionar «por artículo», pero si el cliente elige un producto de 85 y 2 de 10 le van a cargar 85 +10 + 10 y yo quiero que sólo le carguen 85 + 10. No sé si me explico.
    Saludos

  36. hola,

    tengo varios productos de diferente tamaño. Unos irían con una clase ya que son mas voluminosos y se les aplicaría un costo adicional por esta clase. Hasta ahí bien, ya que si creo un precio unico y le añado un coste adicional a esta clase sería todo. Pero el precio añadido a esta clase me cambia según el país. Entonces, como lo haría ? porque con precio único no me basta, y el envío internacional no tengo la opcion de adjuntar clases y costos adicionales.

    gracias

    1. Hola Rosa,

      No podrás hacer eso con las opciones de envío por defecto de WooCommerce. Necesitas usar algún plugin para trabajar con diferentes clases de envió según el país de destino.

      Creo que el plugin de los chicos de APG (puedes ver las especificaciones clicando aquí) te puede servir.

      Espero que te sirva.

      Saludos!

  37. Muchas gracias Antonio por tu artículo, pero en mi caso la cuestión es a la inversa.

    Tengo un producto pequeño y ligero que se puede enviar por correo tradicional en lugar de como los demas artículos y el coste del sello se asume en el precio del producto.
    Siguiendo las indicaciones que das, configuro el descuento Clase de envío que asigno a ese producto y en Precio único añado un coste negativo para esa Clase de envío, para descontar el envío ordinario (pongamos -3€)
    Todo genial si sólo se compra este artículo porque con el «descuento» el envío sale gratis y el cliente pagará sólo el producto, justo lo que quiero, pero… el problema es que si en el carro hay artículos normales ese «descuento» se aplica a todo el carro y ya no mola.

    Que me recomendarías probar?

    Muchas gracias!

    1. Hola Gonzalo,

      Había perdido la pista a tu comentario. Lo acabo de ver :-/

      Aunque un poco tarde, espero que te sirva el siguiente código. Cómo siempre, pégalo al final del archivo functions.php de tu plantilla.

      
      // No aplica la clase de envío si hay productos con diferentes clases
      
      add_filter( 'woocommerce_package_rates', 'disable_product_shipping_classes', 10, 2 );
      
      function disable_product_shipping_classes( $rates, $package ){
        $flatRateShippingObject = new WC_Shipping_Flat_Rate;
        $flatRate = get_option( 'woocommerce_flat_rates' );
        $totalShippingClass = 0;
      
        $foundShippingClasses = $flatRateShippingObject->find_shipping_classes( $package );
        $flatRateCost = $flatRateShippingObject->cost_per_order;
        
        foreach ($foundShippingClasses as $shipping_class => $products ) { 
      
          if( isset( $flatRate[ $shipping_class ] ) ){ 
      
            $totalShippingClass += $flatRateCost + $flatRate[ $shipping_class ][ 'cost' ];
          }else{
      
            $totalShippingClass += $flatRateCost;
          }
        }
        
        $rates['flat_rate']->cost = $totalShippingClass;
      
        return $rates;
      }
      
      

      Saludos!

      1. Hola Antonio, a mí me pasa algo parecido y es que tengo un par de productos en mi catálogo que me gustaría que al comprarlos aparecieran como gastos de envío las opciones de «precio único» y también otra opción que sería «envío por correo ordinario» y ya que el cliente decida cuánto quiere gastar o qué prisa tiene por recibirlo. Quería saber si esto sería posible porque sólo quiero hacerlo con dos productos que pesan muy poquito. Gracias y un saludo 🙂

        1. Hola Esther,

          Para conseguir eso que comentas necesitarás algún plugin (no sabría recomendarte uno, porque no he tenido esa necesidad hasta ahora) o también se puede conseguir con un sencillo código snippet. Lo que si es seguro, es que desde el panel de ajustes de WooCommerce no vas a poder hacerlo.

          Saludos!

  38. Hola, esta ayuda es justo lo que necesitaba para mi tienda, pero me encuentro con el problema que cuando quiero configuar los costes adicionales en “WooCommerce > Ajustes > Envíos > Precio único
    Añado un coste pero el desplegable de clase de envio me sale vacio, y previamente he creado dos tipos de envio. Saben algo respecto a este error?

    gracias un saludo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Responsable: Antonio Cantero, siendo la Finalidad; envío de mis publicaciones así como correos comerciales. La Legitimación; es gracias a tu consentimiento. Destinatarios: tus datos se encuentran alojados en mi plataforma de email marketing Active Campaign ubicada en EEUU y acogida al Privacy Shield. Podrás ejercer Tus Derechos de Acceso, Rectificación, Limitación o Suprimir tus datos en contacto@woodemia.com

Scroll al inicio