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:
  1. <?php
  2.  /* Template Name: Archivo Jerárquico
  3. */
  4. ?>

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:
  1. <?php get_header(); ?>
  2. <div id="content" class="widecolumn">
  3. <!--Aquí es donde luego pondremos nuestro código-->
  4. </div>
  5. <?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:
  1. <?php
  2.  
  3. // Declaramos algunos vars de ayuda
  4. $previous_year = $year = 0;
  5. $previous_month = $month = 0;
  6. $ul_open = false;
  7.  
  8. // Coge los posts
  9. $myposts = get_posts('numberposts=0&orderby=post_date&order=DESC');
  10.  
  11. ?>
  12.  
  13. <?php foreach($myposts as $post) : ?>   
  14.  
  15.     <?php
  16.  
  17.     // Establecemos las variables de los posts
  18.     setup_postdata($post);
  19.  
  20.     $year = mysql2date('Y', $post->post_date);
  21.     $month = mysql2date('n', $post->post_date);
  22.     $day = mysql2date('j', $post->post_date);
  23.  
  24.     ?>
  25.  
  26.     <?php if($year != $previous_year || $month != $previous_month) : ?>
  27.  
  28.         <?php if($ul_open == true) : ?>
  29.        
  30.         <?php endif; ?>
  31.  
  32.         <h3><?php the_time('F Y'); ?></h3>
  33.  
  34.         <ul class="month_archive">
  35.  
  36.         <?php $ul_open = true; ?>
  37.  
  38.     <?php endif; ?>
  39.  
  40.     <?php $previous_year = $year; $previous_month = $month; ?>
  41.  
  42.     <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>
  43.  
  44. <?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.

¿Te gustó este post? ¡Compártelo!
  • Bitacoras.com
  • TwitThis
  • Facebook
  • Meneame
  • Google Bookmarks
  • del.icio.us
  • Live
  • Technorati
  • Ping.fm
  • Wikio
  • Turn this article into a PDF!
  • E-mail this story to a friend!
  • Print this article!

También te puede interesar:

cursos formación continua

    3 comentarios en “Creando un Archivo Cronológico”

  1. guardafaro (7 comentarios) dijo:

    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. [...] primero es el cambio del formato de los archivos del blog. En vez de poner un listado por año hice una plantilla para que una pagina los mostrara de forma cronológica. Me parece una solución más a medida que no los plugins del wordpress. Un poquito de diseño via [...]

  3. [...] quieres mostrar una lista de posts publicados en un post o página no necesitas crear una plantilla especial para mostrarlos sino que hay una solución más sencilla, muuuucho más sencilla para todo tipo de [...]

Escribe un Comentario

XHTML: Puedes usar estos códigos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Comentarios adicionales gracias BackType

Subir

Anúnciese aquí
Expertos en WordPress
Evolución Euribor
Consigue 28 themes premium por menos de 14 euros
Participa en el Debate
  • Hugo Alfaro: Wow!… esta utilidad me ha sido de gran utilidad… ideal para los sitios...
  • Jose: P.D. Enhorabuena por la web! Sois magnificos!
  • Jose: Pero con esta aplicación no puedo utilizar el blog wordpress q tengo en mi propio dominio...
  • Juan: Parece que nuestro amigo se tomó la rivalidad de Steve Jobs contra Google en serio. Pero...
  • andres: No lose que puedo decir de blackberry,pero es un telefono para futuro
Noticias Breves
  • BuddyPress 1.2 está prácticamente lista para lanzarse salvo que las pruebas de los usuarios digan lo contrario. Ya puedes descargarla y empezar a comprobarla (enlace al svn). En esta nueva versión se han cerrado más de 125 tickets desde la última beta.

    [#3]

  • Ya está disponible WordPress MU 2.9.1 y José Conti me avisa que en unas horas tendrá lista la traducción para poder tener actualizado y listo tu sitio multiusuario.

    [#6]

  • ¿Sabías que Kubrick, el tema que va a ser sustituido en 2010 lo creó un desarrollador danés?. Toda la historia de este tema, ya mítico, la tienes en este artículo (traducido con Google).

    [#26]


  • Ahora mismo en los FOROS ...
    Usuarios Registrados
  • Acceder

  • Translate this Blog
    Spanish flagItalian flagChinese (Simplified) flagPortuguese flagEnglish flagGerman flagFrench flagJapanese flagRussian flagSwedish flagCatalan flagHebrew flag                              
    By N2H