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 envios 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 ahi sin muchos conocimientos pudieran surgir.

1.MÉTODO: CON EL PLUGIN “CODE SNIPPETS” (https://es.wordpress.org/plugins/code-snippets/)

Este pluging nos permite modificar el php de la web sin tocar  la página de “functions” con lo cuál introduciremos un código que nos eliminara de la lista Tenerife, Gran Canarias, Ceuta y Melilla.

-Instalamos el plugin

– Nos vamos a “snippets” en la barra de aministració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’]);
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.

 

2. MÉTODO:

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)

<?php
/**
* 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&ntilde;a’, ‘woocommerce’ ),
‘VI’ => __( ‘Araba/&Aacute;lava’, ‘woocommerce’ ),
‘AB’ => __( ‘Albacete’, ‘woocommerce’ ),
‘A’ => __( ‘Alicante’, ‘woocommerce’ ),
‘AL’ => __( ‘Almer&iacute;a’, ‘woocommerce’ ),
‘O’ => __( ‘Asturias’, ‘woocommerce’ ),
‘AV’ => __( ‘&Aacute;vila’, ‘woocommerce’ ),
‘BA’ => __( ‘Badajoz’, ‘woocommerce’ ),
‘PM’ => __( ‘Baleares’, ‘woocommerce’ ),
‘B’ => __( ‘Barcelona’, ‘woocommerce’ ),
‘BU’ => __( ‘Burgos’, ‘woocommerce’ ),
‘CC’ => __( ‘C&aacute;ceres’, ‘woocommerce’ ),
‘CA’ => __( ‘C&aacute;diz’, ‘woocommerce’ ),
‘S’ => __( ‘Cantabria’, ‘woocommerce’ ),
‘CS’ => __( ‘Castell&oacute;n’, ‘woocommerce’ ),
‘CE’ => __( ‘Ceuta’, ‘woocommerce’ ),
‘CR’ => __( ‘Ciudad Real’, ‘woocommerce’ ),
‘CO’ => __( ‘C&oacute;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&eacute;n’, ‘woocommerce’ ),
‘LO’ => __( ‘La Rioja’, ‘woocommerce’ ),
‘GC’ => __( ‘Las Palmas’, ‘woocommerce’ ),
‘LE’ => __( ‘Le&oacute;n’, ‘woocommerce’ ),
‘L’ => __( ‘Lleida’, ‘woocommerce’ ),
‘LU’ => __( ‘Lugo’, ‘woocommerce’ ),
‘M’ => __( ‘Madrid’, ‘woocommerce’ ),
‘MA’ => __( ‘M&aacute;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:

 

<?php
/**
* 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&ntilde;a’, ‘woocommerce’ ),
‘VI’ => __( ‘Araba/&Aacute;lava’, ‘woocommerce’ ),
‘AB’ => __( ‘Albacete’, ‘woocommerce’ ),
‘A’ => __( ‘Alicante’, ‘woocommerce’ ),
‘AL’ => __( ‘Almer&iacute;a’, ‘woocommerce’ ),
‘O’ => __( ‘Asturias’, ‘woocommerce’ ),
‘AV’ => __( ‘&Aacute;vila’, ‘woocommerce’ ),
‘BA’ => __( ‘Badajoz’, ‘woocommerce’ ),
‘PM’ => __( ‘Baleares’, ‘woocommerce’ ),
‘B’ => __( ‘Barcelona’, ‘woocommerce’ ),
‘BU’ => __( ‘Burgos’, ‘woocommerce’ ),
‘CC’ => __( ‘C&aacute;ceres’, ‘woocommerce’ ),
‘CA’ => __( ‘C&aacute;diz’, ‘woocommerce’ ),
‘S’ => __( ‘Cantabria’, ‘woocommerce’ ),
‘CS’ => __( ‘Castell&oacute;n’, ‘woocommerce’ ),
‘CR’ => __( ‘Ciudad Real’, ‘woocommerce’ ),
‘CO’ => __( ‘C&oacute;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&eacute;n’, ‘woocommerce’ ),
‘LO’ => __( ‘La Rioja’, ‘woocommerce’ ),
‘LE’ => __( ‘Le&oacute;n’, ‘woocommerce’ ),
‘L’ => __( ‘Lleida’, ‘woocommerce’ ),
‘LU’ => __( ‘Lugo’, ‘woocommerce’ ),
‘M’ => __( ‘Madrid’, ‘woocommerce’ ),
‘MA’ => __( ‘M&aacute;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:

No vender a Canarias con Woocommerce 1