WordPress muestra mal la hora

Bien, hemos visto que tanto en los plugins y todos los logs de Apache relacionados con WordPress mostraban la hora de manera incorrecta, después de verificar que la hora la teníamos bien tanto en PHP, como mediante Apache, la única conclusión es que estuviese mal configurada en el mismo WordPress, y así és, da igual la hora que pongas en la configuración desde el panel de Admin, ya que WordPress pondrá la hora en UTC por defecto “por la cara”.

Para solucionarlo, hay que editar el fichero wp-settings.php

Y buscar la linea:

// Set default timezone in PHP 5.
if ( function_exists( 'date_default_timezone_set' ) )
   date_default_timezone_set( 'UTC' );

Y substituirla por:

// Set default timezone in PHP 5.
if ( function_exists( 'date_default_timezone_set' ) )
    date_default_timezone_set('Europe/Madrid');

Por supuesto, Europe/Madrid es tan solo un ejemplo, debes de utilizar tu zona horaria.

El fichero wp-settings.php forma parte “de el core” de WordPress, por tanto, cuando se realice una actualización se sobrescribirá…, para solucionar este problema, podemos obtar por añadir el código en nuestro fichero functions.php de nuestro theme, y así funcionará independientemente de que actualicemos WordPress o no, evitando a la vez tener que tocar fichero core.

Añadimos estas lineas al final de fichero functions.php

function arreglar_hora() {
   date_default_timezone_set('Europe/Madrid');
}
add_action('init', 'arreglar_hora', 1);

En caso de que este no sea tu problema, prueba a añadir estas opciones extra:

php.ini:

date.timezone = "Europe/Madrid"

Apache .htaccess:

SetEnv TZ Europe/Madrid

2 Replies to “WordPress muestra mal la hora”

Deja un comentario

Tu dirección de correo electrónico no será publicada.