No vender a Canarias con Woocommerce
Cuando realizamos una tienda online en WooCommerce nos topamos con el problema de vender o no a Canarias, Ceuta y Melilla debido a sus distintas imposiciones de impuestos y gastos de envíos, muchas veces preferimos no meternos en más jaleos y suprimir estas provincias de nuestra tienda online.
El problema surge que WooCommerce no tiene por defecto quitar estas provincias cuando un usuario se registra y permite que el usuario la elija.
Os ponemos aquí dos posibles soluciones para quitar estas provincias de la lista sin tocar directamente el «functions.php» y así nos libramos de los peligros o problemas que toquetear ahí sin muchos conocimientos pudieran surgir.
MÉTODO 1 RECOMENDADO: CON PLUGIN «CODE SNIPPETS» (https://es.wordpress.org/plugins/code-snippets/)
Este plugin nos permite modificar el PHP de la web sin tocar la página de «functions» con lo cual introduciremos un código que nos eliminará de la lista Tenerife, Gran Canarias, Ceuta y Melilla.
-Instalamos el plugin
– Nos vamos a «snippets» en la barra de administración y le damos a «añadir nuevo»
– Le damos un título e Introducimos el siguiente código:
function afr_limita_envios ($provincias) {
unset ($provincias [‘ES’] [‘TF’]);
unset ($provincias [‘ES’] [‘GC’]);
unset ($provincias [‘ES’] [‘CE’]);
unset ($provincias [‘ES’] [‘ML’]);
unset ($provincias [‘ES’] [‘PM’]);
return $provincias;
}
add_filter (‘woocommerce_states’, ‘afr_limita_envios’);
SELECCIONAR: EJECUTAR EL FRAGMENTO DE CÓDIGO EN TODAS PARTES
Después comprobamos que ya no nos sale en el selector de provincias no deseadas.
MÉTODO 2 (NO RECOMENDADO):
No recomendamos este método, ya que en el momento que actualicemos WordPress, plantilla, dejará de funcionar…
Modificando el archivo por FTP dónde se encuentran las provincias españolas y eliminando del listado aquellas que no nos interesan para que el usuario no pueda elegirla cuando se registre.
En la siguiente ruta:
wp-content/plugins/woocommerce/i18n/state , y modificamos el archivo ES.php
NOTA IMPORTANTE: CON ESTA SOLUCIÓN HAY QUE VOLVER A MODIFICAR ESTE ARCHIVO CADA VEZ QUE SE ACTUALICE WOOCOMMERCE.
El php original con las provincias Canarias, Ceuta y Melilla es el siguiente a día de hoy y versión WooCommerce 3.2.3 (hemos señalado en rojo lo que hay que eliminar)
/**
* Spain states
*
* @author WooThemes
* @category i18n
* @package WooCommerce/i18n
* @version 2.0.11
*/
global $states;
if ( ! defined( ‘ABSPATH’ ) ) {
exit;
}
$states[‘ES’] = array(
‘C’ => __( ‘A Coruña’, ‘woocommerce’ ),
‘VI’ => __( ‘Araba/Álava’, ‘woocommerce’ ),
‘AB’ => __( ‘Albacete’, ‘woocommerce’ ),
‘A’ => __( ‘Alicante’, ‘woocommerce’ ),
‘AL’ => __( ‘Almería’, ‘woocommerce’ ),
‘O’ => __( ‘Asturias’, ‘woocommerce’ ),
‘AV’ => __( ‘Ávila’, ‘woocommerce’ ),
‘BA’ => __( ‘Badajoz’, ‘woocommerce’ ),
‘PM’ => __( ‘Baleares’, ‘woocommerce’ ),
‘B’ => __( ‘Barcelona’, ‘woocommerce’ ),
‘BU’ => __( ‘Burgos’, ‘woocommerce’ ),
‘CC’ => __( ‘Cáceres’, ‘woocommerce’ ),
‘CA’ => __( ‘Cádiz’, ‘woocommerce’ ),
‘S’ => __( ‘Cantabria’, ‘woocommerce’ ),
‘CS’ => __( ‘Castellón’, ‘woocommerce’ ),
‘CE’ => __( ‘Ceuta’, ‘woocommerce’ ),
‘CR’ => __( ‘Ciudad Real’, ‘woocommerce’ ),
‘CO’ => __( ‘Córdoba’, ‘woocommerce’ ),
‘CU’ => __( ‘Cuenca’, ‘woocommerce’ ),
‘GI’ => __( ‘Girona’, ‘woocommerce’ ),
‘GR’ => __( ‘Granada’, ‘woocommerce’ ),
‘GU’ => __( ‘Guadalajara’, ‘woocommerce’ ),
‘SS’ => __( ‘Gipuzkoa’, ‘woocommerce’ ),
‘H’ => __( ‘Huelva’, ‘woocommerce’ ),
‘HU’ => __( ‘Huesca’, ‘woocommerce’ ),
‘J’ => __( ‘Jaén’, ‘woocommerce’ ),
‘LO’ => __( ‘La Rioja’, ‘woocommerce’ ),
‘GC’ => __( ‘Las Palmas’, ‘woocommerce’ ),
‘LE’ => __( ‘León’, ‘woocommerce’ ),
‘L’ => __( ‘Lleida’, ‘woocommerce’ ),
‘LU’ => __( ‘Lugo’, ‘woocommerce’ ),
‘M’ => __( ‘Madrid’, ‘woocommerce’ ),
‘MA’ => __( ‘Málaga’, ‘woocommerce’ ),
‘ML’ => __( ‘Melilla’, ‘woocommerce’ ),
‘MU’ => __( ‘Murcia’, ‘woocommerce’ ),
‘NA’ => __( ‘Navarra’, ‘woocommerce’ ),
‘OR’ => __( ‘Ourense’, ‘woocommerce’ ),
‘P’ => __( ‘Palencia’, ‘woocommerce’ ),
‘PO’ => __( ‘Pontevedra’, ‘woocommerce’ ),
‘SA’ => __( ‘Salamanca’, ‘woocommerce’ ),
‘TF’ => __( ‘Santa Cruz de Tenerife’, ‘woocommerce’ ),
‘SG’ => __( ‘Segovia’, ‘woocommerce’ ),
‘SE’ => __( ‘Sevilla’, ‘woocommerce’ ),
‘SO’ => __( ‘Soria’, ‘woocommerce’ ),
‘T’ => __( ‘Tarragona’, ‘woocommerce’ ),
‘TE’ => __( ‘Teruel’, ‘woocommerce’ ),
‘TO’ => __( ‘Toledo’, ‘woocommerce’ ),
‘V’ => __( ‘Valencia’, ‘woocommerce’ ),
‘VA’ => __( ‘Valladolid’, ‘woocommerce’ ),
‘BI’ => __( ‘Bizkaia’, ‘woocommerce’ ),
‘ZA’ => __( ‘Zamora’, ‘woocommerce’ ),
‘Z’ => __( ‘Zaragoza’, ‘woocommerce’ ),
);
Y a continuación como quedaría con las provincias eliminadas:
/**
* Spain states
*
* @author WooThemes
* @category i18n
* @package WooCommerce/i18n
* @version 2.0.11
*/
global $states;
if ( ! defined( ‘ABSPATH’ ) ) {
exit;
}
$states[‘ES’] = array(
‘C’ => __( ‘A Coruña’, ‘woocommerce’ ),
‘VI’ => __( ‘Araba/Álava’, ‘woocommerce’ ),
‘AB’ => __( ‘Albacete’, ‘woocommerce’ ),
‘A’ => __( ‘Alicante’, ‘woocommerce’ ),
‘AL’ => __( ‘Almería’, ‘woocommerce’ ),
‘O’ => __( ‘Asturias’, ‘woocommerce’ ),
‘AV’ => __( ‘Ávila’, ‘woocommerce’ ),
‘BA’ => __( ‘Badajoz’, ‘woocommerce’ ),
‘PM’ => __( ‘Baleares’, ‘woocommerce’ ),
‘B’ => __( ‘Barcelona’, ‘woocommerce’ ),
‘BU’ => __( ‘Burgos’, ‘woocommerce’ ),
‘CC’ => __( ‘Cáceres’, ‘woocommerce’ ),
‘CA’ => __( ‘Cádiz’, ‘woocommerce’ ),
‘S’ => __( ‘Cantabria’, ‘woocommerce’ ),
‘CS’ => __( ‘Castellón’, ‘woocommerce’ ),
‘CR’ => __( ‘Ciudad Real’, ‘woocommerce’ ),
‘CO’ => __( ‘Córdoba’, ‘woocommerce’ ),
‘CU’ => __( ‘Cuenca’, ‘woocommerce’ ),
‘GI’ => __( ‘Girona’, ‘woocommerce’ ),
‘GR’ => __( ‘Granada’, ‘woocommerce’ ),
‘GU’ => __( ‘Guadalajara’, ‘woocommerce’ ),
‘SS’ => __( ‘Gipuzkoa’, ‘woocommerce’ ),
‘H’ => __( ‘Huelva’, ‘woocommerce’ ),
‘HU’ => __( ‘Huesca’, ‘woocommerce’ ),
‘J’ => __( ‘Jaén’, ‘woocommerce’ ),
‘LO’ => __( ‘La Rioja’, ‘woocommerce’ ),
‘LE’ => __( ‘León’, ‘woocommerce’ ),
‘L’ => __( ‘Lleida’, ‘woocommerce’ ),
‘LU’ => __( ‘Lugo’, ‘woocommerce’ ),
‘M’ => __( ‘Madrid’, ‘woocommerce’ ),
‘MA’ => __( ‘Málaga’, ‘woocommerce’ ),
‘MU’ => __( ‘Murcia’, ‘woocommerce’ ),
‘NA’ => __( ‘Navarra’, ‘woocommerce’ ),
‘OR’ => __( ‘Ourense’, ‘woocommerce’ ),
‘P’ => __( ‘Palencia’, ‘woocommerce’ ),
‘PO’ => __( ‘Pontevedra’, ‘woocommerce’ ),
‘SA’ => __( ‘Salamanca’, ‘woocommerce’ ),
‘SG’ => __( ‘Segovia’, ‘woocommerce’ ),
‘SE’ => __( ‘Sevilla’, ‘woocommerce’ ),
‘SO’ => __( ‘Soria’, ‘woocommerce’ ),
‘T’ => __( ‘Tarragona’, ‘woocommerce’ ),
‘TE’ => __( ‘Teruel’, ‘woocommerce’ ),
‘TO’ => __( ‘Toledo’, ‘woocommerce’ ),
‘V’ => __( ‘Valencia’, ‘woocommerce’ ),
‘VA’ => __( ‘Valladolid’, ‘woocommerce’ ),
‘BI’ => __( ‘Bizkaia’, ‘woocommerce’ ),
‘ZA’ => __( ‘Zamora’, ‘woocommerce’ ),
‘Z’ => __( ‘Zaragoza’, ‘woocommerce’ ),
);
Una vez modificado el archivo el usuario no podrá elegir las provincias de Canarias, Ceuta o Melilla cuando se vaya a registrar:
4 comentarios
Comments are closed.
Nuestras redes sociales
Busca en nuestro Blog
Ventajas y desventajas del SEO
VENTAJAS DEL SEO Tráfico de calidad, si alguien te encuentra no es por casualidad sino porque has realizado un buen trabajo en tu web, tanto de marketing como de contenido. Si esto ocurre y [...]
Noticias SEO Sevilla – cambio en algoritmo GOOGLE
Una vez mas google nos ha dado la sorpresa y ha cambiado su famoso algoritmo de búsqueda, esta vez le ha tocado a GOOGLE LOCAL o BUSINESS Los listados locales muestran los negocios de [...]
¿Es rentable el posicionamiento?
Si tiene una empresa y piensa que el escaparate es un elemento fundamental para atraer clientes, definitivamente debería disponer del mejor , más moderno y rentable escaparate que existe actualmente, Internet. Su página web [...]
Diseña tu propia WEB – Inconvenientes
Como se puede ver en muchos anuncios en la tele y en los propios HOSTINGS, muchas empresas anuncian la posibilidad de que sea usted mismo el que se haga de una manera "fácil, rápida [...]
Las tiendas Online son rentables
¿Las tiendas online son rentables? Covid 19 el virus que revolucionó el comercio online La crisis del año 2020 generada por el covid-19 ha hecho florecer el comercio electrónico. Las razones son obvias, un [...]
Consultor SEO ¿Porque? ¿Cómo? ¿Cuánto tiempo tardaré en aparecer en Google?
Consultor seo responde sobre posicionamientoEl consultor seo experto responde ¿En que consiste el posicionamiento web?¿Porque no aparezco en Google?¿Cómo puedo aparecer rápido?¿Cuánto tiempo Tarda mi web en salir en Google?Nuestro consultor seo responde a [...]
Penalización google. Páginas web sin responsive
PENALIZACIÓN GOOGLE ¿Por qué penaliza Google? ¿Cuales son los motivos? 1.- PÁGINAS WEB SIN DISEÑO RESPONSIVE No tener un diseño adaptado a tablets y móviles A partir del 21 de Abril de 2015, los [...]
Creación de páginas Web – Recomendaciones
CREACIÓN DE PÁGINAS WEB Diseño Web, primeros pasos... Una vez que por fin hemos llegado a un acuerdo para crear una página web corporativa , viene el momento de explicar al diseñador web [...]





Buenas,
con el plugin no funciona ninguno,
Saludos
Hola Juan puedes probar de nuevo con el siguiente código:
function afr_limita_envios ($provincias) {
unset ($provincias [‘ES’] [‘TF’]);
unset ($provincias [‘ES’] [‘GC’]);
unset ($provincias [‘ES’] [‘CE’]);
unset ($provincias [‘ES’] [‘ML’]);
return $provincias;
}
add_filter (‘woocommerce_states’, ‘afr_limita_envios’);
y seleccionar abajo: «ejecutar el fragmento de código en todas partes»
Esperamos que te funcione un saludo.
Hola, he probado con el plugin de insertar códigos y no me funciona, siguen apareciendo las provincias.
Hola, Sandra, puedes probar añadiendo este otro snippet o codigo
add_filter(‘woocommerce_states’, ‘eliminar_provincias’);
function eliminar_provincias( $provincias ) {
unset($provincias[‘ES’][‘TF’]);
unset($provincias[‘ES’][‘GC’]);
unset($provincias[‘ES’][‘CE’]);
unset($provincias[‘ES’][‘ML’]);
return $provincias;
}
Y otra opción es la siguiente
add_filter(‘woocommerce_states’, ‘eliminar_provincias’);
function eliminar_provincias( $provincias ) {
$exclude = array(‘TF’,’GC’,’CE’,’ML’);
foreach( $exclude as $item ) {
unset($provincias[‘ES’][$item]);
}
return $provincias;
}
Ya nos cuentas… Gracias por leernos.