1. Documentation /
  2. Configurar zonas de envío

Configurar zonas de envío

¿Vendes productos físicos? ¡Necesitas enviarlos!

Para configurar el envío en WooCommerce, primero debes establecer zonas de envío, luego añadir métodos de envío a esas zonas y, por último, tarifas a sus métodos. Puedes crear tantas zonas como desees y añadir múltiples métodos y tarifas a cada zona.

Zonas de envío

↑ Back to top

Una zona de envío es un área geográfica a la que envías artículos. Puedes ser tan específico como lo necesites, hasta definir regiones y códigos postales, o puedes dejarlo de manera más general, según lo que más te convenga.

Los clientes solo ven los métodos disponibles para su dirección y zona correspondiente. Cada cliente coincide solo con una zona.

Por ejemplo, podrías crear estas zonas en WooCommerce:

NOMBRE DE LA ZONAREGIÓN(ES) DE LA ZONAMÉTODOS DE ENVÍO
LocalCalifornia ZIP 90210Recogida local
DomésticoTodos los estados de EE.UU.2 precios fijos denominados “estándar” y “prioridad”
EuropaPaíses de EuropaPrecio fijo

Añade tantas zonas como necesites, y cada zona puede contener múltiples métodos de envío.

Las zonas de envío se introdujeron en WooCommerce 2.6. Todavía puedes usar elementos como precio fijo, envío gratuito y recogida local. Después de actualizar a 2.6, se te pide que desactives tus métodos de envío heredados y cambies a métodos basados ​​en la zona de envío.

Añadir y gestionar zonas

↑ Back to top

Para establecer zonas de envío, ve a: WooCommerce > Ajustes > Envío. Si no ves Envío como una opción, regresa a WooCommerce> General y echa un vistazo a los ajustes en las ubicaciones de envío: ¡es posible que debas activar los ajustes de envío allí!

La primera vez que visites WooCommerce > Ajustes > Envío, se te solicitará que añadas una nueva zona y una zona predeterminada.

Las ubicaciones no cubiertas por tus otras zonas se utilizan para clientes que no coinciden con ninguna de las zonas personalizadas que añades. Añadir métodos a esta zona es completamente opcional, dependiendo de tus necesidades.

Si un cliente ingresa una dirección de envío que se encuentra en una zona sin métodos de envío, se le informará que no hay envíos disponibles.

Dado que las zonas coinciden de arriba a abajo, también puedes excluir regiones del envío añadiendo una zona para esa región y sin asignarle métodos de envío.

Añadir una nueva zona

↑ Back to top
  1. Ve a: WooCommerce> Envío> Zonas de envío.
  2. Selecciona Añadir zona de envío en la parte superior.
  3. Ingresa un nombre de la zona descriptivo y selecciona la región(es) de la zona que correspondan. Las regiones pueden consistir en: a) Países, b) Estados, c) Continentes.
  4. Selecciona Limitar a códigos postales específicos (si corresponde) para limitar aún más qué clientes coinciden con esta zona. Por ejemplo, puedes establecer una zona local con un conjunto específico de códigos postales (uno por línea); un rango de códigos postales (por ejemplo, 90210… 99000), o usar comodines (por ejemplo, CB23*).
  5. Selecciona qué métodos de envío están disponibles para esta zona.
  6. Guardar los cambios.

En el ejemplo a continuación, creamos tres zonas: Local, Doméstica y Norteamérica, para demostrar cómo se pueden establecer las zonas.

Ordenar zonas de envío

↑ Back to top

Las zonas de envío coinciden con la dirección del cliente de arriba a abajo: siempre se utiliza la primera que coincide con la dirección del cliente. Si no coinciden las zonas personalizadas, se utilizan ubicaciones no cubiertas por tus otras zonas.

Para ordenar y reordenar zonas:

  1. Ve a: WooCommerce > Envío > Zonas de envío.
  2. Desplázate y haz clic en los tiradores del extremo izquierdo. Aparece un icono de cuatro puntos en la pantalla.
  3. Arrastra y suelta.
  4. Guarda los cambios.

Editar zonas de envío

↑ Back to top

Para editar una zona de envío:

  1. Ve a: WooCommerce > Envío > Zonas de envío.
  2. Desplázate sobre el Nombre de la zona y aparecerá la opción Editar y Borrar.
  3. Selecciona Editar y aparecerá una pantalla para que puedas cambiar el nombre de la zona, la región(es) o los métodos de envío.
  4. Guardar los cambios.
Las ubicaciones que no están cubiertas por la sección de otras zonas no se pueden mover, renombrar o eliminar porque actúan de manera predeterminada cuando no se aplican otras zonas.

Para eliminar una zona de envío:

  1. Ve a: WooCommerce > Envío > Zonas de envío.
  2. Desplázate sobre el Nombre de la zona y aparecerá la opción Editar y Borrar.
  3. Selecciona Borrar y se eliminará la Zona de envío.

Añadir métodos de envío a zonas

↑ Back to top

Para añadir un método de envío a una zona de envío existente:

  1. Ve a: WooCommerce > Envío > Zonas de envío.
  2. Desplázate sobre la zona de envío que deseas cambiar y selecciona Editar.
  3. Desplázate hacia abajo hasta Métodos de envío en la pantalla que aparece.
  4. Desactiva un método de envío existente mediante el botón. O selecciona Añadir método de envío para usar uno diferente.
  5. Guardar los cambios.
Solo se enumeran los métodos de envío que admiten zonas de envío. Si tienes un método que no admite zona de envío, se muestra en el menú de navegación y funciona de forma global / independiente de las zonas de envío.

Para obtener más información sobre la configuración de los métodos de envío principales, consulta los siguientes documentos (artículos disponibles solo en inglés):

Recogida localDocumento (disponible solo en inglés)
Precio fijoDocumento (disponible solo en inglés)
Envío gratuitoDocumento

Borrar métodos de envío de zonas

↑ Back to top

Para borrar un método de envío de una zona de envío:

  1. Ve a: WooCommerce > Envío > Zonas de envío.
  2. Desplázate sobre la zona de envío que deseas cambiar y selecciona Editar.
  3. Desplázate hacia abajo hasta Métodos de envío en la pantalla que aparece.
  4. Desplázate sobre el Método de envío que deseas eliminar y selecciona Borrar.
  5. Guardar los cambios.

Controla el método de envío seleccionado por defecto

↑ Back to top

El método de envío por defecto para los clientes es el método de envío activado en la parte superior de la lista en la zona que coinciden.

En esta captura de pantalla, se elige Recogida local para el cliente que coincide con la Zona de envío local.

Arrastra y suelta para reordenar los métodos de envío utilizando los controladores de la izquierda, luego Guardar los cambios.

También puedes controlar cómo se ordenan los métodos de envío en la página del carrito, en la misma pantalla. Todos los métodos de envío seleccionados se ordenarán en la página del carrito en el mismo orden que seguiste para organizarlos en esta pantalla.

Para los clientes que coinciden con los parámetros de la zona de envío local, los métodos de envío aparecen en el carrito en el mismo orden de configuración:

Cómo funcionan las zonas para los clientes

↑ Back to top

Usando estas zonas y métodos de envío:

  • En el código postal 90210 en California, ofrezco recogida local y envío gratuito.
  • En los Estados Unidos, ofrezco un precio fijo doméstico.
  • En las regiones de Canadá y Estados Unidos, ofrezco un precio fijo diferente.

Esto es lo que verían tus clientes si usan la opción Calcular envío:

CLIENTE CALIFORNIANOCLIENTE NO CALIFORNIANO, ESTADOUNIDENSECLIENTE INTERNACIONAL

Personalización

↑ Back to top

Fragmento de código: Mostrar solamente el envío gratuito si está disponible

↑ Back to top
Nota: De acuerdo a nuestra política de soporte, no podemos proporcionar asistencia con respecto a personalizaciones. Si no estás familiarizado con el código, las plantillas y la resolución de posibles conflictos, puedes contactar a un WooExpert para obtener ayuda.

Por defecto, todos los métodos de envío en una zona se presentan al cliente. Si tienes envío gratuito condicional y deseas que sea el único método de envío mostrado si está disponible, puedes usar el siguiente fragmento de código para ocultar otros métodos:

<?php
/**
* Hide shipping rates when free shipping is available.
* Updated to support WooCommerce 2.6 Shipping Zones.
*
* @param array $rates Array of rates found for the package.
* @return array
*/
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 );
view raw functions.php hosted with ❤ by GitHub