Creando un Archivo Cronológico

Hosting Seguro para WordPress con Soporte especializado

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 este artículo para mejorar la calidad del blog ...

PobreRegularEstá bienMuy buenoExcelente (sin valoración aún)
Loading...Loading...

autor: Fernando

Fernando Tellado, maquero cansino, padre de tres hijos y de una perrita Beagle, Bilbaino de nacimiento, Español de corazón y ciudadano de donde me quieran. Autor del libro WordPress - La tela de la araña. Mi blog personal es Navegando con red, donde he crecido como escritor en la red y ofrezco mis visiones acerca de la Web 2.0 y la blogosfera.

comparte esta entrada en
cursos wordpress online

Suscríbete a Ayuda WordPress

Suscríbete para recibir en tu correo las últimas noticias de Ayuda WordPress (solo un correo al día y únicamente si hay nuevas publicaciones)

¡Enhorabuena, ya te has suscrito!