11jun
3

Alojamiento Wordpress con Soporte

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

MaloPobreNo está malMe gustaExcelente (sin valoración aún)
Loading ... Loading ...
2cff46a8a12381c3380263323d20488f
Share

Anúnciese aquí »