Como poner fechas en español en WordPress

Wordpress Shawg de Peregrino Will Reign. Vía flickr.

WordPress tiene una función muy útil para imprimir la fecha en que se escribió un post: the_time(). Esta función sigue las reglas de date() en php.

El problema es que si queremos que apareza el nombre del mes o del día, por ejemplo miércoles, 4 de agosto y usamos the_time("l, j de F") lo que obtendremos será el nombre en inglés de los días y el mes: Wednesday, 4 de August. Seguro lo has visto en muchos sitios.

La solución ideal sería tener acceso al servidor para cambiar su configuración a español y ya, pero lo más probable es que no tengamos estos privilegios o que no sea tan fácil hacer el cambio.

Otra solución, más a la mano, es escribir nuestra propia función para cambiar los nombres de los días y meses. WordPress tiene otra función que te dice la fecha del post pero no la imprime: get_the_time().

Así podemos crear nuestra propia función:
function la_fecha($la_date) {
$dias = array("domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado");
$meses = array("", "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio",
"agosto", "septiembre", "octubre", "noviembre", "diciembre");
$elementos = explode("-", $la_date);
$dia = $dia[$elementos[0]];
$mes = $meses[$elementos[2]];
$fecha = $dia. ", ".$elementos[1]." de ".$mes." de ".$elementos[3];
return $fecha;
}

Ponemos esto en el archivo functions.php y para usarla en nuestro tema lo hacemos de esta manera: la_fecha(get_the_time("w-j-n-Y")).

Por supuesto, la función sirve no nada más para get_the_time() sino cualquier otra función que nos dé una fecha. Y de ahora en adelante podrás tener fechas en español en vez de pocho.