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)
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' ) )
$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' ) )
$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
Tutorial avada slider, paso a paso
Tutorial avada slider, paso a paso Con las últimas versiones de Avada el que fuera "fusion slider" ahora se llama "avada slider", un slider muy lígero y fácil de crear. la creación del "Avada [...]
Avada Theme la plantilla más vendida de themeforest
Plantilla Avada número 1 en ventas de themes WordPress La plantilla Avada lleva 7 años siendo el theme WordPress más vendido del mundo a través de themeforest , son 600.432 copias las [...]
Razones para tener página web
7 razones para tener página web Toda gran empresa tiene un sitio web. Pero ¿qué tan necesario es una página web para la empresa? Pero muchos de la pequeña empresa ven innecesario y estresante [...]
Tu tienda online no vende. 7 Razones y 7 soluciones
¿Porqué mi tienda online no vende?Semanalmente recibimos peticiones y consultas sobre diseño de tiendas online en Sevilla. Muchas de las peticiones son de gente sin conocimientos previos en gestión de tiendas físicas u online, [...]
Por qué debes usar las redes sociales
Hoy en día, una de las herramientas más utilizadas para potenciar un negocio son las redes sociales. Vamos a ver por qué debes usar las redes sociales en tu empresa. Por qué son importantes [...]
Tutorial fusion slider avada
Tutorial fusion slider Avada La plantilla Avada incorpora, entre sus plugin premium, un sistema de diapositivas muy sencillo pero a la vez práctico. Para realizar un fusion slider de Avada lo vamos a [...]
Cuánto cuesta crear una tienda online
Muchos usuarios nos preguntan cuanto cuesta crear una tienda y la respuesta suele ser siempre la misma "depende"... ¿Qué necesitas exactamente? ¿Qué productos quieres vender? Vamos a argumentar todo con detalles y así decidiréis [...]
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 [...]








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.