Ya sabéis que hacemos principalmente dos tareas sobre los WordPress de nuestros clientes: mantenimiento y desarrollo. Pues cada vez es más habitual que resolvamos trabajos de mantenimiento con desarrollo, de hecho, muchos de nuestros clientes de mantenimiento de WordPress tienen en sus web un plugin, desarrollado por nosotros, donde vamos incorporando todas esas funciones que se pueden realizar con un mini desarrollo y así ahorrar instalar un plugin mayor.
En este caso vamos a ver cómo hemos resuelto un caso en el que teníamos que enviar el nombre completo de las provincias a un CRM vía webservice y WooCommerce sólo nos devolvía la inicial de la provincia.
Si haces desarrollo en PHP y WordPress con WooCommerce, puede que hayas notado que cuando hacemos una llamada al método get_billing_state()
de un objeto de tipo pedido de WooCommerce, te devuelve el código de la provincia y no el nombre completo:
Ejemplo: Devuelve ‘SA’ en lugar de Salamanca.
Con la siguiente función, podremos tener el nombre completo de la provincia:
function get_nombre_provincia($codigo_provincia)
{
$provincias = array(
'AB' => 'Albacete',
'AL' => 'Almería',
'AV' => 'Ávila',
'BA' => 'Badajoz',
'PM' => 'Baleares',
'B' => 'Barcelona',
'BU' => 'Burgos',
'CC' => 'Cáceres',
'CA' => 'Cádiz',
'S' => 'Cantabria',
'CS' => 'Castellón',
'CE' => 'Ceuta',
'CR' => 'Ciudad Real',
'CO' => 'Córdoba',
'CU' => 'Cuenca',
'GI' => 'Girona',
'GR' => 'Granada',
'GU' => 'Guadalajara',
'SS' => 'Guipúzcoa',
'H' => 'Huelva',
'HU' => 'Huesca',
'J' => 'Jaén',
'LO' => 'La Rioja',
'GC' => 'Las Palmas',
'LE' => 'León',
'L' => 'Lleida',
'LU' => 'Lugo',
'M' => 'Madrid',
'MA' => 'Málaga',
'ML' => 'Melilla',
'MU' => 'Murcia',
'NA' => 'Navarra',
'OR' => 'Ourense',
'P' => 'Palencia',
'PO' => 'Pontevedra',
'SA' => 'Salamanca',
'TF' => 'Santa Cruz de Tenerife',
'SG' => 'Segovia',
'SE' => 'Sevilla',
'SO' => 'Soria',
'T' => 'Tarragona',
'TE' => 'Teruel',
'TO' => 'Toledo',
'V' => 'Valencia',
'VA' => 'Valladolid',
'BI' => 'Vizcaya',
'ZA' => 'Zamora',
'Z' => 'Zaragoza'
);
if (isset($provincias[$codigo_provincia]))
{
return $provincias[$codigo_provincia];
}
else
{
//Como no existe la provincia, devolvemos el código que recibimos
return $codigo_provincia;
}
}