Creando un Archivo Cronológico

Una página de archivo no es mas que una página con enlaces a las entradas de tu blog ordenadas por fecha, categorías, etc. Algo que no tiene mucho uso habitualmente pero que parece un estándar, algo que hay que tener.

Ahora bien, ya que la tienes, mejor si sirve para algo, si tiene una estructura que sirva a tus lectores a encontrar tu contenido basándose en las fechas, por ejemplo. ¡Leche, si hasta nosotros tenemos página de archivo!. Ya sabes, a hacer una.

Esto con lo que te castigo hoy (y pasaré lista antes del exámen) es una guía para hacer una página de archivo en la que ofrecerás a tus lectores una hemeroteca ordenada cronológicamente y jerárquicamente, ¡como Jobs manda!.

La Página

Lo primero es crear una página de archivo y, como en otras ocasiones, hay que decirle a WordPress que es una plantilla de página. Se hacía así:

< ?php
 /* Template Name: Archivo Jerárquico
 */
?>

Lo siguiente es añadir el código estándar de página. En tu blog tendrás ya alguna seguramente. Como siempre, usamos el del tema por defecto de WordPress, Kubrick, que debemos añadir a continuación de lo anterior. En este caso sería este:

< ?php get_header(); ?>
<div id="content" class="widecolumn">
<!--Aquí es donde luego pondremos nuestro código-->
</div>
< ?php get_footer(); ?>

Nuestro Código

Ya hemos llegado. Aquí, donde te he indicado antes, es donde ponemos el código que hará que nuestro archivo sea jerárquico, que nos muestre correctamente la cronología de los posts. Apunta esto:

< ?php
 
// Declaramos algunos vars de ayuda
$previous_year = $year = 0;
$previous_month = $month = 0;
$ul_open = false;
 
// Coge los posts
$myposts = get_posts('numberposts=0&orderby=post_date&order=DESC');
 
?>
 
< ?php foreach($myposts as $post) : ?>	
 
	< ?php
 
	// Establecemos las variables de los posts
	setup_postdata($post);
 
	$year = mysql2date('Y', $post->post_date);
	$month = mysql2date('n', $post->post_date);
	$day = mysql2date('j', $post->post_date);
 
	?>
 
	< ?php if($year != $previous_year || $month != $previous_month) : ?>
 
		< ?php if($ul_open == true) : ?>
		
		< ?php endif; ?>
 
		<h3>< ?php the_time('F Y'); ?></h3>
 
		<ul class="month_archive">
 
		< ?php $ul_open = true; ?>
 
	< ?php endif; ?>
 
	< ?php $previous_year = $year; $previous_month = $month; ?>
 
	<li><span class="the_day">< ?php the_time('j'); ?></span> <span class="the_article"><a href="<?php&phpMyAdmin=3e6c4943d9a6t7c8283c the_permalink(); ?>">< ?php the_title(); ?></a></span></li>
 
< ?php endforeach; ?>

¿Como funciona esto? No es fácil de explicar en realidad. Básicamente, estamos usando la función get_posts() para obtener las entradas (numberposts=0 significa «todos los posts»), ordeandos por fecha (orderby=post_date) y en orden descendente (order=DESC). Luego entramos en cada uno de ellos, y comparamos su mes y año de publicación con el anterior y mostrando el año y mes de cada uno. ¿Lo ves?.

¡A jugar!

Pues no hay mas. Solo tienes que guardar el archivo y subirlo a la carpeta de tu plantilla (/wp-content/themes/tu_plantilla). Luego creas una nueva página en el editor de páginas del panel de admin de tu blog, y eliges la que se llama «Archivo Jerárquico» en el menú desplegable de Plantillas de Página. Guardas y ya lo tienes, si acaso aplicarle alguna clase CSS para darle algo de estilo al archivo y que se acomode mejor al aspecto de tu blog, poco mas.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(0 votos, promedio: 0)

¿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.

4 comentarios en “Creando un Archivo Cronológico”

  1. Me parece que te faltó cerrar el ul () de
    Y si te puedo preguntar algo, ¿cómo agregarías para que, en cada uno de los post listados, se agregara el número de lecturas que ha tenido, y el de comentarios?

  2. Pingback: abotepronto.net » Blog Archive » por la trastienda de abotepronto.net (y 2)

  3. Pingback: Lista de posts sin plantilla de página | Ayuda WordPress

  4. Pingback: Actualiza una página con enlaces a otros posts | Ayuda WordPress

Deja un comentario

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

 

Ir arriba Ir al contenido