Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Chile Woo
Chile Woo
php
/*
Plugin Name: Regiones de Chile para WooCommerce
Plugin URI: https://www.onesla.com
Description: Con este plugin o complemento podrás utilizar las Regiones de Chile
para mejorar la experiencia de envíos.
Version: 0.4
Author: Melvin Ramos <info@conchalevale.cl>, Plugin Tuneado y agregadas las comunas
por Michael Venegas <contacto@onesla.com>
Author URI: https://www.onesla.com
Contributors: melvisnap, michalexvr
License: GPLv3
Requires at least: 4.0 +
Tested up to: 5.2.1
WC requires at least: 3.0.x
WC tested up to: 3.6.4
Nueva versión, incluye las comunas de Chile.
*/
/*
* Copyright 2018 Cónchale vale <info@conchalevale.cl>
* Copyleft 2020 Onesla SPA <contacto@onesla.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
function rdcw_regiones_de_chile($states) {
$states['CL'] = array(
'Metropolitana de Santiago' => 'Metropolitana de Santiago',
);
return $states;
}
wc_enqueue_js( "
jQuery(document).ready(function(){
let ciudades = [
{ciudad:'Cerrillos',region:'Metropolitana de Santiago'},
{ciudad:'Cerro Navia',region:'Metropolitana de Santiago'},
{ciudad:'Conchali',region:'Metropolitana de Santiago'},
{ciudad:'El Bosque',region:'Metropolitana de Santiago'},
{ciudad:'Estacion Central',region:'Metropolitana de Santiago'},
{ciudad:'Huechuraba',region:'Metropolitana de Santiago'},
{ciudad:'Independencia',region:'Metropolitana de Santiago'},
{ciudad:'La Cisterna',region:'Metropolitana de Santiago'},
{ciudad:'La Granja',region:'Metropolitana de Santiago'},
{ciudad:'La Florida',region:'Metropolitana de Santiago'},
{ciudad:'La Pintana',region:'Metropolitana de Santiago'},
{ciudad:'La Reina',region:'Metropolitana de Santiago'},
{ciudad:'Las Condes',region:'Metropolitana de Santiago'},
{ciudad:'Lo Barnechea',region:'Metropolitana de Santiago'},
{ciudad:'Lo Espejo',region:'Metropolitana de Santiago'},
{ciudad:'Lo Prado',region:'Metropolitana de Santiago'},
{ciudad:'Macul',region:'Metropolitana de Santiago'},
{ciudad:'Maipu',region:'Metropolitana de Santiago'},
{ciudad:'Ñuñoa',region:'Metropolitana de Santiago'},
{ciudad:'Pedro Aguirre Cerda',region:'Metropolitana de Santiago'},
{ciudad:'Peñalolen',region:'Metropolitana de Santiago'},
{ciudad:'Providencia',region:'Metropolitana de Santiago'},
{ciudad:'Pudahuel',region:'Metropolitana de Santiago'},
{ciudad:'Puente Alto',region:'Metropolitana de Santiago'},
{ciudad:'Quinta Normal',region:'Metropolitana de Santiago'},
{ciudad:'Recoleta',region:'Metropolitana de Santiago'},
{ciudad:'Renca',region:'Metropolitana de Santiago'},
{ciudad:'San Bernardo',region:'Metropolitana de Santiago'},
{ciudad:'San Miguel',region:'Metropolitana de Santiago'},
{ciudad:'San Joaquin',region:'Metropolitana de Santiago'},
{ciudad:'San Ramon',region:'Metropolitana de Santiago'},
{ciudad:'Santiago',region:'Metropolitana de Santiago'},
{ciudad:'Vitacura',region:'Metropolitana de Santiago'}
];
jQuery('.mmcm').change(function(){
for (var i = 0; i < ciudades.length; i++) {
if (ciudades[i].ciudad == jQuery('#select2-billing_city-
container').attr('title')) {
jQuery('.mmrm').val(ciudades[i].region).prop('selected', true);
jQuery('#billing_state').val(ciudades[i].region).prop('selected', true);
jQuery('#select2-billing_state-
container').attr('title',ciudades[i].region);
jQuery('#select2-billing_state-
container').empty().append(ciudades[i].region);
}
if (ciudades[i].ciudad == jQuery('#select2-shipping_city-
container').attr('title')) {
jQuery('.mmrms').val(ciudades[i].region).prop('selected',
true);
jQuery('#shipping_state').val(ciudades[i].region).prop('selected', true);
jQuery('#select2-shipping_state-
container').attr('title',ciudades[i].region);
jQuery('#select2-shipping_state-
container').empty().append(ciudades[i].region);
}
}
});
jQuery('.mmrm').change(function(){
jQuery('#billing_city').empty();
for (var i = 0; i < ciudades.length; i++) {
if (ciudades[i].region == jQuery('#select2-billing_state-
container').attr('title')) {
jQuery('#billing_city').append('<option value=\"'+
ciudades[i].ciudad +'\"> ' + ciudades[i].ciudad + ' </option>');
}
}
});
jQuery('.mmrms').change(function(){
jQuery('#shipping_city').empty();
for (var i = 0; i < ciudades.length; i++) {
if (ciudades[i].region == jQuery('#select2-shipping_state-
container').attr('title')) {
jQuery('#shipping_city').append('<option value=\"'+
ciudades[i].ciudad +'\"> ' + ciudades[i].ciudad + ' </option>');
}
}
});
});
");
return $fields;
}
unset($fields['billing']['billing_postcode']);
unset($fields['shipping']['shipping_postcode']);
return $fields;
}
add_filter('woocommerce_checkout_fields' , 'rdcw_change_checkout_fields');
add_filter('woocommerce_states', 'rdcw_regiones_de_chile');
add_filter('woocommerce_checkout_fields', 'ciudades_chilenas');
add_filter('woocommerce_default_address_fields', 'perfil_ciudades_chilenas');
?>