Créer une page d’archive des articles classés par catégorie
Catégories : Wordpress
Envoyer l’article
Imprimer l’article
1 740 vues
Créer une page d’archives n’est pas souvent une mince affaire. En effet, il existe de multiples façons de lister vos articles mais aussi vos catégories : par date, par ordre alphabétique, etc. C’est pourquoi, nous allons voir ici comment créer une page d’archive qui listera l’intégralité de vos articles lesquels seront triés par catégories et ce, pour votre blog WordPress.
Création de la page archives.php
A l’aide de votre éditeur HTML préféré - par exemple, Dreamweaver ou encore le bloc-notes, créez une nouvelle page que vous enregistrerez sous le nom suivant : archives.php.
Insertion du code
<?php /* Template Name: Page d'archives */ ?> <?php get_header(); ?>
<h2><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title() ?> par catégories</a></h2>
<?php
$cats = get_categories();
foreach ($cats as $cat) {
query_posts('showposts=1000&cat='.$cat->cat_ID);
?>
<h3><?php echo $cat->cat_name; ?></h3>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li style="font-weight:normal !important;"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a> - Commentaires (<?php echo $post->comment_count ?>)</li>
<?php endwhile; ?>
</ul>
<?php } ?>
<?php get_footer(); ?>
Explications et modifications éventuelles
Dénomination de la page
<?php /* Template Name: Page d'archives */ ?>
Ce morceau de code indique le nom de la page. Très utile pour s’y retrouver facilement !
Ainsi, pour la modifier en ligne, via l’éditeur WordPress, rendez-vous dans votre panneau d’administration WordPress, cliquez sur l’onglet Apparence puis sur Éditeur de thème.
Dans la liste des fichiers présents, vous devriez retrouver alors archives.php.
Détermination du nombre d’articles à afficher
query_posts('showposts=1000&cat='.$cat->cat_ID);
Le nombre 1 000 désigne le nombre d’articles à afficher sur la page. En fonction de son blog, il conviendra donc d’ajuster ce nombre.
Au bout d’un certain temps, on pourra également envisager de couper la page en 2 mais sachez qu’il est préférable de n’en garder qu’une seule même si cette dernière peut atteindre une taille démesurée.
En effet, il est plus facile d’effectuer une recherche via Ctrl + F sur une seule page plutôt que sur plusieurs.
Changement du titre de la page
<h2><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title() ?> par catégories</a></h2>
Dans cet exemple, le titre de la page est Archives par catégorie. Celui-ci est lié à la page en question et il s’agit d’un titre de niveau 2.
Vous pouvez donc le modifier à votre convenance : changement du niveau de titre (h1, h3 voire h4), suppression du permalien, etc.
Application et respect du style et de la structure de page
Le code fourni plus haut est brut de toute mise en forme. Si vous l’insérez tel quel, vous n’obtiendrez sûrement pas le résultat escompté en raison de la non présence de balise <div>.
Vous devez donc indiquer les balises <div> nécessaires. Pour ce faire, vous pouvez vous inspirez de la page index.php ou de single.php.
Là, recherchez les balises <div class=” “> ou <div id=” “> qui vous renseigneront sur les classes CSS utilisés dans vos pages d’articles.
Vous pouvez aussi créer une nouvelle classe CSS spécifique à votre page d’archives. Dans ce cas, ouvrez la feuille de style de votre thème - si vous n’êtes pas à l’aise avec ce genre de modifications, faites une copie de vos fichiers de thèmes.
Les balises de structure et de mise en forme sont à ajouter entre le header (en-tête) et le footer (pied de page) :
<?php get_header(); ?>
<?php get_footer(); ?>
Mise en ligne du fichier archives.php
La solution la plus courante consiste à utiliser un client FTP tel que FileZilla ou encore l’extension Firefox, FireFTP.
Pour de plus amples informations sur l’utilisation d’un client FTP, je vous renvoie au codex WordPress (en français).
Création de la page Archives dans WordPress
Pour créer une nouvelle page dans votre blog, rendez-vous dans l’onglet Écrire puis cliquez sur Page de votre panneau d’administration WordPress.
Descendez tout à fait en bas de la page pour atteindre le module Modèle de page. Dans la liste déroulante, sélectionnez Page d’archives.
Pour finir, donnez un titre à la page - par exemple, Archives, puis publiez sans ajouter de texte supplémentaire.
Annexes
Je vous recommande :
- L’article de Jbj sur la création d’un page d’archive pour son thème WordPress ;
- Le codex de WordPress francophone ;
Et vous, amis lecteurs, de quelle manière avez-vous choisi d’afficher votre page d’archives ? De quelle manière l’avez-vous personnalisée ?
Un problème ? Venez en discuter sur le forum !










Si vous avez aimé ce billet, n'hésitez pas à vous abonner à mon flux 













Selon moi, l’organisation des archives par catégorie est déjà plus esthétique et surtout bien plus ergonomique que celle proposée par défaut.
Merci beaucoup pour ce tutoriel.
@Yancilane : tu as tout à fait raison, le modèle d’archives proposé par WordPress se base sur la chronologie des articles. Or, alors qu’un tel choix est bon pour un blog d’actualité, il l’est beaucoup moins pour un blog thématique - par exemple.
@tous : c’est Yancilane qui m’a demandé conseil via mail pour créer sa page d’archive. De là est né ce tutorial et j’espère qu’il sera utile pour tous
J’ai repéré une extension (malheureusement dont le développement est arrêté) s’intitulant extended Live archive.
Le visuel est très sympa de ce que j’en ai vu, et ça parait simple à paramétrer et mettre en place. Pas de code à taper, hormis créer la page statique.
http://www.sonsofskadi.net/extended-live-archive/
Je vais la tester, c’est aussi sur ma todo List …
@agatzebluz : j’avais déjà entendu parler de ce plugin mais je ne l’ai jamais essayée.
En revanche, pourquoi ne ferais-tu pas un tutoriel sur ton blog ?
Cet article n’avait pas pour but à l’origine de présenter des plugins de gestion des archives dans WordPress, mais je suis prêt à à te faire un lien vers un éventuel article sur le sujet si l’envie t’en dit
Je te prends au mot LOL
Dès que j’ai quelques minutes pour mettre en place la tonne de choses que je dois faire pour améliorer encore mon blog, je ferai un tuto.
Je te tiendrai au courant à ce moment là.
Merci pour la proposition.
Après avoir créé une page d’archives “par catégorie”, j’ai opté pour quelque chose de plus classique avec le plugin http://www.schloebe.de/wordpress/simple-yearly-archive-plugin/
Merci Maigret pour ce code.
J’y ai juste ajoutée la sidebar.
Il me reste à créer un .css pour finir d’adapter mon contenu à mes désirs
A+
@PataTy : au plaisir !
Il y a longtemps que je me suis fait une page “archives” http://azur.ironie.org/archives très très pratique pour retrouver mes propres anciens billets!
Par contre, j’ai galéré pour garder l’onglet archives sélectionné sur cette page. La faute à la boucle qui modifie la dernière page lue et donc get_footer() ne sait plus sur quelle page on est pour appliquer la classe “current” à l’onglet. :-/
L’astuce est de relire la page “archives” juste avant footer(). À condition bien sûr que ça soit utile à votre thème!
Merci pour l’astuce!
En place chez moi et bien pratique pour retrouver des articles
Bonne continuation
@PhilC : merci à toi !
Thank you for this information.
@antiquarian books : thanks for your visit !