Tengo la solución, y tengo que dar las gracias al blog de Enrique J. Ros. Dejo aquí la solución para quien la pueda necesitar y recomiendo visitar el blog de Enrique.
Debemos añadir este código al functions.php y le estaremos dando la orden a Woocommerce de obviar en el listado de provincias a Tenerife, Gran Canarias, Ceuta, Melilla y Islas Baleares.
function ejr_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’, ‘ejr_limita_envios’);
Para hacerlo bien y evitar perder esta modificación de código en el functions.php con futuras actualizaciones del theme, cambios de tema etc. lo más recomendable es crear tu propio «plugin» donde incluir estas modificaciones personalizadas de código. Como dice Enrique parece una tarea difícil… pues no 🙂
Es muy muy sencillo:
1- Creamos un documento txt sin formato.
2- Copiamos este código:
<?php
/*
Plugin Name: Mis funciones personalizadas
Description: Plugin para ir poniendo mis funciones personalizadas
Version: 0.1
Author: Tu nombre
*/
3- Debajo de este código pegamos el código anterior, seleccionando que provincias deseamos eliminar del listado de woocommerce.
function ejr_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’, ‘ejr_limita_envios’);
4- Guardamos el archivo como: mi-plugin.php (el nombre que queráis).
5- Lo zipamos y en WordPress añadimos nuestro nuevo plugin.
Y listo, ya tenemos nuestro listado de provincias de woocommerce personalizado. Ahora veréis que en el listado de provincias que están disponibles en la tienda no aparece ninguna de las anteriores.
Os dejo aquí el listado de provincias con su código de Woocomerce para que podáis tenerlas a mano para personalizar las vuestras. También está disponible en woocommerce/i18n/states/ES.php
‘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’ )