abr
3
2013

Provincias españolas para WooCommerce

Woocommerce es un plugin que te permite la creación de tiendas online bajo el CMS WordPress pero no incluye por defecto las provincias españolas. Woocommerce esta realizado por la misma empresa de WooThemes, todo un prestigio en temas para WordPress.

Woocommerce es un fork de jigoshop o lo que es lo mismo, se basaron en el plugin de jigoshop para crear Woocommerce, mejorándolo sustancialmente, sobretodo en el soporte del idioma, en el que jigoshop no acababa de completar del todo, lo que se traduce en que elijas el idioma que elijas tanto la parte interna del plugin en el panel de control como la parte externa, la que ve el cliente esta traducida y es de fácil comprensión, aunque como veremos en mi próximo post, para el idioma español está traducida tan solo en un 38%  y necesitaremos una dosis de paciencia para la traducción, os ahorraré el trabajo que me ha llevado horas para la traducción al español de WooCommerce version 2.0.5

Para crear tiendas online tenemos múltiples alternativas muchos mas potentes como Magento o Prestashop en las cuales podemos llevar incluso la facturación de nuestros productos y seguimientos de envíos, pero desgraciadamente son mucho mas complejas de programar y de mantener que wordpress, por lo que están fuera del alcance para gente con poca experiencia en programación web.

Woocommerce tiene además la ventaja de que cuenta con múltiples extensiones accesibles desde la página de WooThemes, algunas gratuitas y otras de pago ya que este plugin de tienda online en poco tiempo contó con el apoyo de la comunidad y muchos son los desarrolladores que se están implicando en la mejora del plugin tanto sin ánimo de lucro como con él.

El caso es que, por defecto el plugin carga tan solo los estados/provincias de algunos países muy limitados (Estados Unidos, Brasil, Australia, Canadá, Hungría, India…) pero no las provincias españolas.

El proceso para que las provincias españolas para WooCommerce sean accesibles desde las diferentes partes del plugin no es complejo y no requiere acceso a la base de datos pero si debemos tener acceso FTP a las carpetas de nuestro servidor.

Los estados (provincinas) se almacenan en el directorio del plugin /wp-content/plugins/woocommerce/i18n/states donde encontraremos un fichero por cada país del que dispongamos las provincias, en nuestro caso para las provincias españolas sería el archivo ES.php que no existe y que debería tener este contenido:


<?php
/**
 * Spanish states
 *
 * @author Chainsdev
 * @category i18n
 * @package WooCommerce/i18n
 * @version 2.0.0
 */
global $states;

$states['ES'] = array(
 'ES-C' => __( 'La Coru&ntilde;a', 'woocommerce' ),
 'ES-VI' => __( '&Aacute;lava', 'woocommerce' ),
 'ES-AB' => __( 'Albacete', 'woocommerce' ),
 'ES-A' => __( 'Alicante', 'woocommerce' ),
 'ES-AL' => __( 'Almer&iacute;a', 'woocommerce' ),
 'ES-O' => __( 'Asturias', 'woocommerce' ),
 'ES-AV' => __( '&Aacute;vila', 'woocommerce' ),
 'ES-BA' => __( 'Badajoz', 'woocommerce' ),
 'ES-PM' => __( 'Islas Baleares', 'woocommerce' ),
 'ES-B' => __( 'Barcelona', 'woocommerce' ),
 'ES-BU' => __( 'Burgos', 'woocommerce' ),
 'ES-CC' => __( 'C&aacute;ceres', 'woocommerce' ),
 'ES-CA' => __( 'C&aacute;diz', 'woocommerce' ),
 'ES-S' => __( 'Cantabria', 'woocommerce' ),
 'ES-CS' => __( 'Castell&oacute;n', 'woocommerce' ),
 'ES-CE' => __('Ceuta','woocommerce'),
 'ES-CR' => __('Ciudad Real','woocommerce'),
 'ES-CO' => __('C&oacute;rdoba','woocommerce'),
 'ES-CU' => __('Cuenca','woocommerce'),
 'ES-GI' => __('Gerona','woocommerce'),
 'ES-GR' => __('Granada','woocommerce'),
 'ES-GU' => __('Guadalajara','woocommerce'),
 'ES-SS' => __('Guip&uacute;zcoa','woocommerce'),
 'ES-H' => __('Huelva','woocommerce'),
 'ES-HU' => __('Huesca','woocommerce'),
 'ES-J' => __('Ja&eacute;n','woocommerce'),
 'ES-LO' => __('La Rioja','woocommerce'),
 'ES-GC' => __('Las Palmas','woocommerce'),
 'ES-LE' => __('Le&oacute;n','woocommerce'),
 'ES-L' => __('L&eacute;rida','woocommerce'),
 'ES-LU' => __('Lugo','woocommerce'),
 'ES-M' => __('Madrid','woocommerce'),
 'ES-MA' => __('M&aacute;laga','woocommerce'),
 'ES-ML' => __('Melilla','woocommerce'),
 'ES-MU' => __('Murcia','woocommerce'),
 'ES-NA' => __('Navarra','woocommerce'),
 'ES-OR' => __('Orense','woocommerce'),
 'ES-P' => __('Palencia','woocommerce'),
 'ES-PO' => __('Pontevedra','woocommerce'),
 'ES-SA' => __('Salamanca','woocommerce'),
 'ES-TF' => __('Santa Cruz de Tenerife','woocommerce'),
 'ES-SG' => __('Segovia','woocommerce'),
 'ES-SE' => __('Sevilla','woocommerce'),
 'ES-SO' => __('Soria','woocommerce'),
 'ES-T' => __('Tarragona','woocommerce'),
 'ES-TE' => __('Teruel','woocommerce'),
 'ES-TO' => __('Toledo','woocommerce'),
 'ES-V' => __('Valencia','woocommerce'),
 'ES-VA' => __('Valladolid','woocommerce'),
 'ES-BI' => __('Provincia de Vizcaya','woocommerce'),
 'ES-ZA' => __('Zamora','woocommerce'),
 'ES-Z' => __('Zaragoza','woocommerce')

);

En este caso he difinido los códigos de las provincias basándome en el código ISO-3166-2
Os dejo el archivo disponible para descarga, recordar que tan solo tenéis que subirlo a la carpeta indicada y ya tendréis disponibles las provincias españolas para WooCommerce.

Provincias Españolas para WooCommerce
814.0 B
337 Downloads
Details...
Aunque en España no se estila mucho, si este fichero te ha servido de ayuda, o te ha ahorrado varias horas de trabajo puedes ayudarme con una donación:

8 Comentarios + Añadir Comentario

  • Muchas gracias, lo he implementado en una prueba y va muy bien.

    Una pregunta. En el proceso de registro de un nuevo usuario, cuando eliges una dirección de facturación diferente de la de envío, en la de envío… te falta el campo provincia (state)? Es que a mí sí, y claro, intenta validar y el campo no se muestra para que lo complete el cliente, con lo que no le deja seguir desde este paso.

    No sé si te ocurrirá lo mismo!

    Gracias y saludos!

    • No, a mi no me falta, pero eso tambien puede depender del theme que tengas instalado o de algun plugin de expansion del woocommerce que hayas instalado para la gestión de envios seguramente.

      Lo habitual es lo contrario a lo que te pasa a ti, es querer “quitar” campos de ese formulario y no añadirlos

      Intenta probar con los demas plugins desactivados a ver si “reaparece” y si aun asi sigue sin aparecer intenta además de desactivar los plugins probar con el theme básico del WP (twenty-loquesea)

  • Hola Chains, muchas gracias por la aportación. ¿Este archivo se borraría en actualizaciones de WordPress o Woocommerce?

  • Bueno, he visto que ya viene por defecto con Woocommerce, la duda entonces sería si al borrar ciertas provincias, cuando woocommerce se actualice ¿volverán a aparecer? Gracias

  • El código de Woocommerce no debería tocarse, para eso están los filtros:

    En el archivo funtcions.php se puede poner esta función para modificar la lista de provincias (por ejemplo para quitar Canarias, Ceuta y Melilla)

    function wc_sell_only_states( $states ) {

    unset($states['ES']['TF']);
    unset($states['ES']['CE']);
    unset($states['ES']['ML']);
    unset($states['ES']['GC']);

    return $states;
    }
    add_filter( ‘woocommerce_states’, ‘wc_sell_only_states’ );

    • Hola, te quería hacer una pregunta al margen. Necesito hacer en php un cambio de codigo para que woocommerce me permita introducir manualmente la provincia.

      Actualmente si selecciono España me obliga a elegir una provincia en un desplegable, sin embargo para Andorra me deja introducir manualmente la provincia.

      Podría hacer lo mismo con España que con Andorra ?

  • Hola,

    Disculpar que haga una pregunta diferente al hilo que de este post.

    Necesito hacer en php un cambio de codigo para que woocommerce me permita introducir manualmente la provincia.

    Actualmente si selecciono España me obliga a elegir una provincia en un desplegable, sin embargo para Andorra me deja introducir manualmente la provincia.

    Podría hacer lo mismo con España que con Andorra ?

    • Hola Lakhmi.

      Aunque el post es muy antigua y ya no tiene mucho sentido, la respuesta es que si se puede. No he podido mirar si es una opción de configuración facilmente modificable o si ha de ser por código pero no creo que costara mucho.

      Un saludo.

Deja tu comentario

Publicidad