¿Por qué the_date() no se usa para imprimir la fecha de un post?
Solución: utiliza the_time()

La respuesta al título de esta entrada es sencilla. Si utilizas the_date() iterando sobre varios posts y en alguno se repite en fecha, es decir, si de uno a otro tenemos la misma fecha de creación entonces la fecha no se mostrará cuando sea repetida.

¿Es esto un error de WordPress? Por supuesto que no. De hecho si revisáis en el codex para the_date() os encontraréis con el aviso. Veamos el porqué y cómo solucionarlo.

Timex alarm clock.

Por defecto, la mayor parte de los temas (themes/templates) para WordPress usan la función the_date() en cada post, para mostrar cuándo un post fue escrito por primera vez (si queremos la última fecha de modificación usaremos the_modified_date() en su lugar, aunque no suele ser el caso más común), sin embargo, si dos posts son publicados el mismo día sólo se mostrará la primera aparición cuando usamos la función the_date(). Esto no da ningún problema si lo hacemos en el single (sólo habrá un post), pero si nos vamos a un loop (e.g. archive.php) sí nos podemos encontrar este caso.

¿Cómo podemos solucionarlo? En su lugar, si usamos the_time() entonces sí veremos la fecha en cada iteración; también podemos usar la función get_the_date(), pero entonces tendremos que usar un echo para mostrarla. Ambas, the_time() the_date() usan el mismo formato de fechas, lo que significa que podemos simplemente reemplazar una función por otra, pero ¿por qué existe the_date()? Como os adelantaba arriba no es un error, esta función suele resultar de utilidad si queremos imprimir la fecha de sucesivos post en forma de lista (como un catálogo histórico por fechas).

Espero que este tip os haya resultado de utilidad. Como siempre, si tenéis alguna duda sobre WordPress, aquí estamos.

Imagen libre desde Gaderinge.1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (Ninguna valoración todavía)

Cargando…

Almacenamos las IPs desde la que se envían las valoraciones para evitar fraudes

0

Deja una respuesta

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

Carrito