Una de las tantas formas de mostrar las fechas en WordPress es el utilizar las fechas relativas o fechas pasadas; o como mas te guste llamarlas. Esta función en lugar de apuntar a una fecha absoluta, apunta a una fecha pasada o vencida, es decir en lugar de leerse: 28 de marzo; se lee (por ejemplo) hace 1 día, hace 23 horas, etc.

He leído algunas formas de lograr implementar estas fechas relativas en el día de hoy, algunas eran funciones un tanto extensas y difíciles de personalizar o requerían una conexión extra a nuestra base de datos. Hoy en Upthemes.com presentaban una función que se acercaba bastante a lo que tenia en mi cabeza. Encontré dos formas sencillas se lograr este cometido: Como nos muestran en Upthemes.com y utilizando la funcion human time diff lisa y llanamente.

Editando nuestro archivo functions.php

Este versión requiere un paso extra dado que vamos a crear la función y luego llamarla. Su ventaja es que podemos usar la misma función tanto en las fechas de la entradas como en las de los comentarios.

function time_ago( $type = 'post' ) {
	$d = 'comment' == $type ? 'get_comment_time' : 'get_post_time';
	return human_time_diff($d('U'), current_time('timestamp'));
}

Haciendo el llamado

Reemplaza tu fecha antigua, generalmente the_time() en tus entradas o comment_date() para los comentarios con lo siguiente.

<?php echo time_ago(); ?>

Esto nos devolverá la fecha relativa, por ejemplo: 21 días

Aplicando formato

Para lograr una fecha relativa completa podemos escribir:

Publicado hace <?php echo time_ago(); ?> atras // Devuelve: Publicado hace 21 días atrás

Utilizando solamente human time diff

Esta es una opción más simple, pero si queremos mostrar la fecha relativa para comentarios y entradas tendremos que usar dos funciones distintas.De la misma forma que en la versión anterior reemplazaremos the_time() y/o comment_date() segun sea necesario

Para entradas:

<?php echo 'hace ', human_time_diff(get_the_time('U'), current_time('timestamp')) . ' atras'; ?>

Para comentarios:

<?php echo 'hace ', human_time_diff(get_comment_time('U'), current_time('timestamp')) . ' atras'; ?>

Esta es una forma sencilla de resaltar tus entradas en pocas lineas de código, hay discusiones de fondo con respecto a si mejora la accesibilidad o no, pero ese es otro tema.