Créer une page d’archive pour son thème Wordpress

Publié le 28 juin 2008 par Jbjweb

Selon moi, tous les blogs devraient posséder une page d’archive: En plus de permettre à vos lecteurs de parcourir votre blog rapidement et de trouver ce qu’ils cherchent, cette page est également bonne pour votre référencement vu qu’elle permet aux robots d’indexation un accès simple et rapide à vos articles.
Je vous propose de voir ensemble la création d’une telle page sous Wordpress.

Les plugins

Il existe quantité de plugins permettant de créer automatiquement une page d’archive. L’avantage est que vous n’avez (presque) rien à faire, l’inconvénient, c’est que vous ne pourrez customiser la page à votre gout, à moins bien sûr d’aller éditer les fichiers php du plugin, ce que je ne conseillerais pas aux débutants.

Sur lyxia.org, j’utilise le plugin Smart Archives depuis la création du blog. Bien que j’en sois satisfait dans l’ensemble, son principal inconvénient est le temps d’attente pour afficher cette page, vu le nombre d’articles qui sont affichés simultanément. Je sais bien que mon serveur est à la masse mais quand même, 20 secondes d’attentes, ça ne fait pas trop sérieux…

Si vous vous orientez vers la solution plugin, je vous conseille notamment Clean Archives, qui contient une traduction en Français, ou encore Extended Live Archives, permettant pas mal de personnalisations et notamment l’affichage de vos archives sous forme d’arborescence.

A la mano, c’est plus rigolo…

Wordpress nous offre la possibilité de créer des gabarits de pages, ou Pages Templates. L’intêret de ces gabarits est qu’ils vous permettrons ainsi de créer différents modèles de page. Du coup, il est possible de créer une page dédiée pour les auteurs du blog, pour un formulaire de contact, et bien sûr, pour vos archives.

Avant de coder, il convient de choisir entre deux types de pages d’archives. La première listera tout les articles du blog: Elle permet un accès rapide et facile à tous vos posts, et c’es à ce modèle que va ma préférence. Malheureusement, comme je le disais plus haut en parlant du plugin Smart Archives, une fois que votre blog sera bien fourni, cette page risque de devenir assez longue à afficher.

Le second modèle, plus adpaté aux blogs ayant plus de 10 mois d’existence, proposera quand à lui de lister vos archives à la fois mensuellement et par catégorie.

Votre choix est fait? Allons-y.
Nous allons donc créer un nouveau fichier, que nous nommerons archives.php. Au début de ce fichier insérez les lignes suivantes:

<?php
/*
Template Name: Page d'archives
*/
?>

Ce commentaire permet de définir un nom à notre template, ce qui nous sera bien utile par la suite pour le sélectionner dans le panneau d’administration de Wordpress.

Code n°1: Liste de tous les articles

<?php
$posts_to_show = 100; //Le nombre d'article maximum à afficher
$debut = 0; //L'article à partir duquel l'affichage doit commencer
?>
<?php while(have_posts()) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<ul>
<?php
$myposts = get_posts('numberposts=$posts_to_show&offset=$debut');
foreach($myposts as $post) :
?>
<li><?php the_time('d/m/y') ?>: <a href="<?php the_permalink(); ?>"><? php the_title(); ?></a></li>

<? php endforeach; ?>
</ul>

<?php endwhile; ?>

Code n°2: Affichage par mois et par catégories

<?php while(have_posts()) : the_post(); ?>
<h2><?php the_title(); ?></h2>

<h2>Archives mensuelles</h2>
<ul><?php wp_list_cats('sort_column=name&optioncount=1') ?></ul>

<h2>Archives par catégories</h2>
<ul><?php wp_get_archives('type=monthly&show_post_count=1') ?></ul>

<?php endwhile; ?>

Enregistrez le fichier, et voilà. Il ne vous reste plus qu’à le placer, sur votre serveur, dans le répertoire de votre thème.
Ensuite, dans votre panneau d’administration Wordpress, créez une nouvelle page, nommez la comme bon vous semble (même si “Archives” me semble être le plus pertinent), et choisissez “Page d’archives” comme modèle de page.