La hora en WordPress y cómo hacerla más legible: el clásico «Hace X días»

Últimamente cada vez veo más una bonita forma de expresar la fecha de creación de un post: ‘Hace X días’ o ‘hace X minutos’. Creo que además de ser más legible muestra una referencia del tiempo más cercana para el lector, que de un simple vistazo podrá apreciar si la web ha sido actualizada hoy mismo.

WordPress nos ofrece una función muy fácil de usar: human_time_diff ( $from, $to ). El primer parámetro, $from, es la fecha más lejana y el segundo, $to, es la fecha más cercana a hoy. WordPress calcula la diferencia de tiempo y devuelve directamente una cadena del estilo ‘X días’ o ‘X minutos’. Prácticamente no tenemos que hacer nada, excepto que dichas fechas tienen que estar en formato Unix.

Para hacerlo, el parámetro $from será la fecha de creación del post y el $to será la fecha actual. En el Códex viene bien explicado:

echo human_time_diff( get_the_time('U') , current_time('timestamp') );

get_the_time('U') obtiene la fecha de creación del post (tendremos que estar dentro del Loop para ejecutarla) en formato Unix y current_time('timestamp') la fecha actual también en formato Unix. Tal y como hemos dicho, esta sentencia devuelve una cadena de tipo ‘hace X días/minutos’.

Bueno, esto no está nada mal pero hagámoslo bien, bien. Para que todas las fechas en nuestra web salgan de esta manera usaremos el filtro the_time si en nuestras plantillas estamos usando la función the_time(). Si estamos mostrando las fechas mediante la función get_the_time(), usaremos el filtro get_the_time:

$time = human_time_diff( get_the_time('U') , current_time('timestamp') );
echo sprintf( __( 'hace %s', 'dominio' ), $time );

De esta forma, en todos nuestros posts aparecerá la fecha en el formato más legible.

En el código utilizo la función __() ya que es necesaria si luego quisiéramos traducir nuestro tema ( es una buenísima práctica y aconsejo hacerlo siempre, incluso si no vamos a traducirlo).

(3 votos, promedio: 5) Valora este artículo para ayudar a mejorar la calidad del blog

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te funciona? pues entonces no he dicho nada :)

Sobre el autor

1 comentario en “La hora en WordPress y cómo hacerla más legible: el clásico «Hace X días»”

  1. Hola, a mí me gustaría hacer justo lo contrario. Que mis post aparezcan como fechas y no con la indicación «X días ago». Podrías explicarme cómo hacerlo? Muchas gracias!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
  • Responsable: Fernando Tellado ([email protected])
  • Fin del tratamiento: Moderación de comentarios para evitar spam
  • Legitimación: Tu consentimiento
  • Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba Ir al contenido