Configuración de envío por distritos (zonas) en Woocommerce
Вставка
- Опубліковано 15 вер 2024
- Tutoriales, consejos y recomendaciones en temas de electricidad, electrónica, domótica, informática y diseño web.
Clases particulares online Whatsapp +51 982408881
datawebsolutio...
add_filter( 'woocommerce_states', 'goowoo_add_states' );
function goowoo_add_states ( $states ) {
$states['PE'] = array (
'CA' => __( 'Callao', 'woocommerce' ),
'LI' => __( 'Lima', 'woocommerce' ),
);
return $states;
}
//gracias maestro si funciona
te amo
me cagaste, a pesar que restaure todo woocomerce ya no me muestra los departamentos, no recomendado.
agregalos a la misma lista con el mismo metodo
Muy bueno!, funciona a la perfección para poder ponerle tarifas a los distritos o zonas que uno desee configurar!.
donde puedo conseguir el codigo?
Tremendo aporte vecino, gracias por compartir estos tips. Mucho éxito!!!
Buenas tardes, mil gracias por tu video, era justo lo que necesitaba. Explicas súper bien, felicitaciones! Saludos desde Colombia.
Hola , tengo unas pequeñas dudas ¿ me puedes ayudar por favor, veo que lo hiciste bien y aún no sé cuál es el tema o plugin hijo en que voy a poner estos códigos ?
@@aaronlugop.977 Buenos días, si claro con mucho gusto, te comparto estos 2 vídeos que te pueden ayudar.
* El primero debes verlo desde el minuto 3:00 donde te explica cómo crear el tema hijo: ua-cam.com/video/q-BMqmtpVwM/v-deo.html&ab_channel=JuanCamiloAlvarez
* El segundo te explica como configurar la zona de envío con el tema hijo: ua-cam.com/video/S4yrd40yVDc/v-deo.html&ab_channel=JuanCamiloAlvarez
Excelente tu codificación amigo felicitaciones y gracias
Excelente aporte. Me funcionó. Gracias!
dato importante. para que funcione deben de poner el country-code en la parte de $states['GT'] , como yo tengo configurado para Guatemala es GT, en el video explican de Perú el código es PE.
docs.woocommerce.com/document/addmodify-states/
Genial, muchas gracias!!!
Ya me iba a volver loco. Gracias por la recomendación.
si vendiera en otras zonas aparte de Lima, por ejemplo Huánuco como agregaria los distritos de Huanuco y Lima
Maestro una pregunta, en ves de ciudades puedo poner barrios, teniendo en cuenta que es una tienda de comida que solo hace envíos dentro de una sola ciudad, agradezco tu respuesta 🙏
si, solo lo editas
Me sale un error que dice esto : Snippet automatically deactivated due to an error on line 11:
No se puede redeclarar la función goowoo_add_states.
Me pasa un error al agregarlo en la opción de state siempre me aparece como opcional por mas que agregue un plugin como checkout field editor y pongo como campo obligatorio me sigue apareciendo como opcional por agregarle ese código que puedo hacer
Hice algunos cambios en el kilometraje y en el precio , y ahora no hace el calculo. Los cambios toman algun tiempo ? o hay que modificar otra cosa?
Hola, quisiera saber cómo limitar algunos productos específicos a poder enviarlo solo a algunos barrios o códigos postales. Pero que esto no afecte a los demás productos que se venden a todo el país. Necesito que si una persona está fuera del rango de los códigos postales que le dé a un producto , no le permita terminar la compra . Hay alguna forma de solucionar esto ? Existe algún plugins?
Te ganaste tu like viejo
Hola amigo, una consulta. Al momento te hacer el proceso de compra me sale "Por favor introduce una dirección para continuar." y el único cuadro que me aparece en error es ese que se modificó con el css. ¿Cuál sería la solución?
Como puedo elegir las zonas, sihe creado 5 zonas para envío y el producto solo se envía a 2 zonas o distritos ¿ como se configura?
Estoy utilizando el tema Astra para Woocommerce y no existe la ruta en mención, me puede ayudar?
Hola Terry, igual estoy usando Astra. debes buscar en la carpeta astra-child.
Genio! muchas gracias!!!
sirve el código para otros países? para estados unidos
Buenas, y si en mi tienda quiero vender a provincias, por ejemplo arequipa, cusco, etc como tengo que crear el codigo? Gracias
llegaste a conseguirlo
Hola, esta genieal tu tutorial pero me dejo mucho esta duda
Ejm:
Si tenemos
- Pais
- Provincia
- Distrito
como se haria para concadenarlos todos y asu vez cuando ponemos un pais diferente se desactiven las otras 2 ultimas opciones, y obviamen se relacione con las clases de envio a los distritos de lima . y de igual manera gracias espero que un proximo tutorial sea mas completo ya que por lo visto no encontrado otro tutorial ya que solo habalan de españa .
Hasta ahora no lo he logrado, pero puedes hacer lo siguiente: "Lima - Ate", etc. asi poner el nombre del distrito, asi he visto que lo han hecho en algunos e-comerce y no se ve nada mal :)
A mi no me funcionó ninguno de los métodos, así que después de 3 horas de investigación les dejo el codigo que me funcionó, al parecer cambió diretamente desde woocomerce.
Se va a Apariencia -> Editor de Temas -> Tema Hijo -> fuctions.php -> Copien lo siguiente:
// INICIO ENVIOS POR DISTRITOS
/**
* Add or modify States
*/
add_filter( 'woocommerce_states', 'custom_woocommerce_states' );
function custom_woocommerce_states( $states ) {
$states['PE'] = array(
'ANN' => 'Ancon',
'ATE' => 'Ate',
'BAR' => 'Barranco',
'BEL' => 'Bellavista',
'BRE' => 'Brena',
'CDL' => 'Carmen_de_la_Legua',
'CHO' => 'Chorrilos',
'COM' => 'Comas',
'EAG' => 'El_Agustino',
'IND' => 'Independencia',
'JMA' => 'Jesus_Maria',
'LVI' => 'La_Victoria',
'LPE' => 'La_Perla',
'LPT' => 'La_Punta',
'LNC' => 'Lince',
'LCE' => 'Lima_Cercado',
'LOL' => 'Los_Olivos',
'MGD' => 'Magdalena',
'MIR' => 'Miraflores',
'PLI' => 'Pueblo_Libre',
'RIM' => 'Rimac',
'SBO' => 'San_Borja',
'SJM' => 'San_Juan_de_Miraflores',
'SJL' => 'San_Juna_de_Lurigancho',
'SIS' => 'San_Isidro',
'SLU' => 'San_Luis',
'SMP' => 'San_Martin_de_Porres',
'SAN' => 'Santa_Anita',
'SMI' => 'San_Miguel',
'SUR' => 'Surco',
'SRQ' => 'Surquillo',
'CAL' => 'El Callao',
'AMA' => 'Amazonas',
'ANC' => 'Ancash',
'APU' => 'Apurimac',
'ARE' => 'Arequipa',
'AYA' => 'Ayacucho',
'CAJ' => 'Cajamarca',
'CUS' => 'Cusco',
'HUV' => 'Huancavelica',
'HUC' => 'Huánuco',
'ICA' => 'ICA',
'JUN' => 'Junín',
'LAL' => 'La Libertad',
'LAM' => 'Lambayeque',
'LIM' => 'Lima',
'LOR' => 'Loreto',
'MDD' => 'Madre de Dios',
'MOQ' => 'Moquegua',
'PAS' => 'Pasco',
'PIU' => 'Piura',
'PUN' => 'Puno',
'SAM' => 'San Martín',
'TAC' => 'Tacna',
'TUM' => 'Tumbes',
'UCA' => 'Ucayali'
);
return $states;
}
// FIN ENVIOS POR DISTRITOS
excelente, gracias
TE AMOOOOO REEEEY DESPUES DE HORAS Y HORAS ME SALVASTE LAS PAPAS!!! GRACIAS BRO
Perfecto!, muchas gracias por compartirlo! como complemento les paso la lista de los codigos por pais: creatingawebstore.com/woocommerce-country-codes-and-state-codes-list.html?states=pe
Hola muchas gracias por eesta excelente solución, que pasa si no tengo la carpeta "child" y la creo desde 0... los demas archivos son fundamentales para el funcionamiento?
Todo para Ty vendes tu plugin?
Hola! Muy bueno el video. Pero uso otro tema, uso el tema Astra. Como lo adapto?
me pasa exactamente lo mismo yo también uso astra, ¿pudiste encontrar la solución?
wpastra.com/child-theme-generator/ en este enlace puedes crear el tema hijo
@@victor.design ua-cam.com/video/CdCuwUQNHw0/v-deo.html
@@luiselyhernandez8067 buenas noches Luisely. Vi el video que compartiste. El tema hijo se tiene que generar al principio, antes de trabajar el tema? yo ya tengo avanzada una tienda que estoy creando. Puedo generar el tema hijo?
Estoy usando el plugin "Per product Shipping" funciona muy bien con los paises que tienen codigo postal. Como puedo hacer lo mismo que hiciste, pero asociar a cada zona un codigo postal ?
Muy bueno tu tutorial, gracias.
amigo el codigo que tu esats copiando donde lo encuentro?
Este es el código corregido --> si funciona
add_filter( 'woocommerce_states', 'goowoo_add_states' );
function goowoo_add_states( $states ) {
$states[ 'PE' ] = array(
'ATE' => __( 'Ate' , 'woocommerce' ),
'BARRANCO' => __( 'Barranco' , 'woocommerce' ),
'BELLAVISTA' => __( 'Bellavista', 'woocommerce' ),
'BRENA' => __( 'Brena', 'woocommerce' ),
'CARMEN DE LA LEGUA' => __( 'Carmen_de_la_Legua', 'woocommerce' ),
'CHORRILLOS' => __( 'Chorrilos', 'woocommerce' ),
'COMAS' => __( 'Comas', 'woocommerce' ),
'EL AGUSTINO' => __( 'El_Agustino', 'woocommerce' ),
'INDEPENDENCIA' => __( 'Independencia', 'woocommerce' ),
'JESUS MARIA' => __( 'Jesus_Maria', 'woocommerce' ),
'LA VICTORIA' => __( 'La_Victoria', 'woocommerce' ),
'LA PERLA' => __( 'La_Perla', 'woocommerce' ),
'LA PUNTA' => __( 'La_Punta', 'woocommerce' ),
'LINCE' => __( 'Lince', 'woocommerce' ),
'LIMA CERCADO' => __( 'Lima_Cercado', 'woocommerce' ),
'LOS OLIVOS' => __( 'Los_Olivos', 'woocommerce' ),
'MAGDALENA' => __( 'Magdalena', 'woocommerce' ),
'MIRAFLORES' => __( 'Miraflores', 'woocommerce' ),
'PUEBLO LIBRE' => __( 'Pueblo_Libre', 'woocommerce' ),
'RIMAC' => __( 'Rimac', 'woocommerce' ),
'SAN BORJA' => __( 'San_Borja', 'woocommerce' ),
'SAN JUAN DE MIRAFLORES' => __( 'San_Juan_de_Miraflores', 'woocommerce' ),
'SAN JUAN DE LURIGANCHO' => __( 'San_Juna_de_Lurigancho', 'woocommerce' ),
'SAN ISIDRO' => __( 'San_Isidro', 'woocommerce' ),
'SAN LUIS' => __( 'San_Luis', 'woocommerce' ),
'SAN MARTIN DE PORRES' => __( 'San_Martin_de_Porres', 'woocommerce' ),
'SANTA ANITA' => __( 'Santa_Anita', 'woocommerce' ),
'SAN MIGUEL' => __( 'San_Miguel', 'woocommerce' ),
'SURCO' => __( 'Surco', 'woocommerce' ),
'SURQUILLO' => __( 'Surquillo', 'woocommerce' ),
);
return $states;
}
no me funciona
Hola, necesariamente tiene q ser en el Tema Hijo? que pasa si lo hago directo en el principal?
Hola, funciona exactamente igual.
Muchas veces cuando se actualiza por parte del creador el tema se reescribe el código del tema padre eliminando todas las adiciones de código que a veces se agregan, entonces por seguridad se hacen estas cosas en un tema hijo que no se verá perjudicado por los cambios en el tema original, por eso lo recomiendan, pero claro que puede hacerse sobre el tema original o padre
Hola, debes crear un tema hijo y hacerlo allí
El codigo :v?
hay algun plugin para hacer esto?
si hay, está 59 soles
Hola, buenos días., Quien me puede ayudar
Tengo una pequeña duda ¿cuál es el tema hijo en el que pones los códigos ?
lo buscas en internet segun el tema que tengas
Crack!
Ya hice todo el proceso pero a la hora de poner en las regiones de envío igual solo me aparece la opción de Ecuador nada más alguien que me ayude por favor.
Puedes intentar con el plugin “Woo Add Custom States” puedes añadir la región que deseas en cualquier país sin tocar código y funciona perfectamente con las zonas de envío.
bro y como hago si no tengo cpanel? estoy haciendo la web solamente con wordpress y elementor
alojado en tu pc
hazlo desde apariencia - editor de temas - funcionphp
No me funcionó...alguna recomendación? :(
revisa tu codigo
Quien me ayude, resulto pero siempre me sale ese mensaje "Por favor introduce una dirección para continuar." teniendo los campos llenos
me sale igual D:
seguro has usado el pluggin para configurar el checkout . Revisa que no hayas borrado un campo como el país
Hola Bro me sale error al poner el codigo
tienes que crear un tema hijo
y si es para provincia?
Solo cambias los nombres porque estas creando las zonas con el código
@@ricardorodriguez6456 si deseo crear lima con provincias y cada una con distritos?
Donde puedo conseguir ese codigo de los distritos ?
//Agregara distritos a Woocommerce
add_filter( 'woocommerce_states','goowoo_add_states' );
function goowoo_add_states( $states ){
$states['PE'] = array(
'AT' =>__('Ate', 'woocommerce'),
'BA' =>__('Barranco', 'woocommerce'),
'BE' =>__('Bellavista', 'woocommerce'),
'BR' =>__('Brena', 'woocommerce'),
'CL' =>__('Carmen de la Legua', 'woocommerce'),
'CH' =>__('Chorrillos', 'woocommerce'),
'CO' =>__('Comas', 'woocommerce'),
'EA' =>__('El Agustino', 'woocommerce'),
'IN' =>__('Independencia', 'woocommerce'),
'JM' =>__('Jesus Maria', 'woocommerce'),
'LV' =>__('La Victoria', 'woocommerce'),
'LP' =>__('La Perla', 'woocommerce'),
'LPT' =>__('La Punta', 'woocommerce'),
'LN' =>__('Lince', 'woocommerce'),
'LC' =>__('Lima Cercado', 'woocommerce'),
'LO' =>__('Los Olivos', 'woocommerce'),
'MG' =>__('Magdalena', 'woocommerce'),
'MI' =>__('Miraflores', 'woocommerce'),
'PL' =>__('Pueblo Libre', 'woocommerce'),
'RI' =>__('Rimac', 'woocommerce'),
'SB' =>__('San Borja', 'woocommerce'),
'SJM' =>__('San Juan de Miraflores', 'woocommerce'),
'SJL' =>__('San Juan de Lurigancho', 'woocommerce'),
'SI' =>__('San Isidro', 'woocommerce'),
'SL' =>__('San Luis', 'woocommerce'),
'SP' =>__('San Martin de Porres', 'woocommerce'),
'SA' =>__('Santa Anita', 'woocommerce'),
'SM' =>__('San Miguel', 'woocommerce'),
'SU' =>__('Santiago de Surco', 'woocommerce'),
'SR' =>__('Surquillo', 'woocommerce'),
);
return $states;
}
@@Kreatico Sí en lugar de estados quisera colocar lugares o ciudades solo debo cambiar por "places"?
@@Kreatico Sos grande!
@@Kreatico lo maximo!! gracias
Comunas de stgo chile
function adding_custom_country_states( $states ) {
// Define the related country code
$country_code = 'CL';
// Define for each state a different state code
$new_states = array(
'MP' => __('Maipu', 'woocommerce'),
'PA' => __('Puente Alto', 'woocommerce'),
'LF' => __('La Florida', 'woocommerce'),
'SB' => __('San Bernardo', 'woocommerce'),
'LP' => __('La Pintana', 'woocommerce'),
'SM' => __('San Miguel', 'woocommerce'),
'CR' => __('Cerrillos', 'woocommerce'),
'PD' => __('Pudahuel', 'woocommerce'),
'LG' => __('La Granja', 'woocommerce'),
'SR' => __('San Ramon', 'woocommerce'),
'PC' => __('Pedro Aguirre Cerda', 'woocommerce'),
'EC' => __('Estacion Central', 'woocommerce'),
'SG' => __('Santiago', 'woocommerce'),
'LC' => __('Las Condes', 'woocommerce'),
'PL' => __('Peñalolen', 'woocommerce'),
'LR' => __('La Reina', 'woocommerce'),
'PH' => __('Padre Hurtado', 'woocommerce'),
'LE' => __('Lo Espejo', 'woocommerce'),
'VT' => __('Vitacura', 'woocommerce'),
'RC' => __('Recoleta', 'woocommerce'),
'IN' => __('Independencia', 'woocommerce'),
'CO' => __('Conchali', 'woocommerce'),
'CN' => __('Cerro Navia', 'woocommerce'),
'NN' => __('Ñuñoa', 'woocommerce'),
'PR' => __('Providencia', 'woocommerce'),
'LO' => __('Lo Prado', 'woocommerce'),
'QN' => __('Quinta Normal', 'woocommerce'),
'RN' => __('Renca', 'woocommerce'),
'QL' => __('Quilicura', 'woocommerce'),
'LB' => __('Lo Barnechea', 'woocommerce'),
'SJ' => __('San Jose de Maipo', 'woocommerce'),
'PI' => __('Pirque', 'woocommerce'),
'TL' => __('Talagante', 'woocommerce'),
'BU' => __('Buin', 'woocommerce'),
'CT' => __('Calera de Tango', 'woocommerce'),
'PF' => __('Peñaflor', 'woocommerce'),
'PN' => __('Paine', 'woocommerce'),
'EM' => __('El Monte', 'woocommerce'),
'HR' => __('Huechuraba', 'woocommerce'),
);
// Merge existing states with the new states
$states[$country_code] += $new_states;
return $states;
}
add_filter( 'woocommerce_states', 'adding_custom_country_states' );