GoPymes's Blog

Agregar condiciones al plugin WP para elegir distritos de envío en Woocommerce

Además de asignar precios de envío a cada uno de los distritos – provincias, añadimos una nueva funcionalidad en forma visual que obedece a las muy conocidas reglas de negocio que puede tener cualquier tienda:

Condiciones.

Estos pueden ser costo total, número de ítems y/o peso que deberán cumplir para cada distrito si así se desea. Si cumple con las condiciones entonces habrá nuevo costo de envío.

 

Panel Administrativo.

Woocommerce > Settings >Shipping > Shipping Price by Place

Para entender el plugin; Agregamos precios por distrito ó provincias (esta etapa ya lo conocemos)
Nota: Los valores llenados en la sgte imagen son inventados.

Tabla 1

Agregar condiciones.

La siguiente tabla muestra la nueva funcionalidad del pluyin, podemos asignar más de una condición y por distrito:

  1. Nombre del Distrito
  2. Condiciones: Costo total, número de artículos ó peso.
  3. Símbolos entre números: =, <, <=, >, >=
  4. Valor numérico que deseemos como límite o igualdad para una condición.
  5. Funciones lógicas: Y / O
  6. Nuevo costo de envío (sólo si cumple con las condiciones)
  7. Nombre de etiqueta que aparecerá en Envío (Carrito de compras)

 

Como se visualiza en el Front (Página Checkout)

Identificaremos el nuevo costo de envío cuando aparezca con la etiqueta que se ha especificado.

 

Tabla: 3 Distrito de Lince: Número de ítems: 5 / Costo total: $45 / Peso total: 48 kg

8. Nuevo costo de envío identificado con su etiqueta descrito anteriormente. (Carrito de compras)

 

Explicación (Agregar condiciones)

Ejemplo1:

El distrito de Lince (ver tabla 2) está conformada por condición 1, condición 2 y condición 3.

Costo total >= 35                             Condición 1

           Y 

Número de artículos = 5 );               Condición 2

          O

Peso >= 60                                         Condición 3

 

Entonces, lo descrito arriba nos da dos opciones (Opción 1 u Opción 2) para acceder al nuevo costo de envío.

Opción 1: Si cumple; Condición 1 y Condición 2 => Nuevo costo de envío

Opción 2: Si cumple; Condición 3                          => Nuevo costo de envío

Analizando opciones: para el distrito de Lince;

 

Opción 1: 

Condición 1 y Condición 2:

(Costo total >= 35 Y Número de artículos = 5),

(45 >= 35   Y   5 = 5);                                                         Si cumple

 

Opción 2:

Condición 3:

Para el distrito de Lince; (48kg es el peso total de los productos a enviar descrito internamente).

(48 >=60);                                                                           No cumple

Para esta compra el envío al distrito de Lince tendrá nuevo costo que será $10, porque cumple con las condiciones, con etiqueta NEW (ver tabla 2). El resultado se puede observar en el carrito de compras. (Ver tabla 3)

Nota: Si no se cumplen las condiciones el costo asignado será el mismo registrado inicialmente. (Lince: 22 – ver tabla 1)

Ejemplo 2:

Con los mismos datos de la tabla 1, agregamos las siguientes condiciones para el distrito de Los Olivos:

Tabla 4

 

Como se visualiza en el carrito de compras:

Distrito de Los Olivos: Número de ítems: 8 / Costo total: $65

 

Tabla 5

El distrito de Los Olivos (ver tabla 4) está conformada por condición 1 y condición 2. Ambas condiciones se deben cumplir para acceder al nuevo costo de envío.

Costo total   <= 80                        Condición 1

Y

Número de artículos > 3;            Condición 2

Analizando: para el distrito de Los Olivos:

Condición 1: Costo total <= 80

65 <= 80                 Si cumple

Condición 2: Número de artículos > 3

8 > 3                        Si cumple

 

Para esta compra el envío al distrito de Los Olivos tendrá un nuevo costo que será $40, porque cumple con las condiciones con etiqueta NEW1 (ver tabla 4). El resultado se puede observar en el carrito de compras. (Ver tabla 5)

Nota: Si no se cumplen las condiciones el costo asignado será el mismo registrado inicialmente. (Los Olivos: 50 – ver tabla 1)

Leave a Reply

Your email address will not be published. Required fields are marked *