Créer une page d’archive pour son thème WordPress
Posté par jbj le 28 juin 2008 dans Wordpress • 32 commentairesSelon 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.
Autres articles dans la catégorie Wordpress
- Ecriture d’un plugin WordPress, 4e partie : méthodes avancées
- Ecriture d’un plugin WordPress, 3e partie : finaliser le plugin Twitter
- Ecriture d’un plugin WordPress, 2e partie : la structure d’un plugin Twitter
- Ecriture d’un plugin WordPress, 1e partie : les bases
- Géolocalisation IP avec PHP et WordPress
- 10 très beaux thèmes wordpress premiums
- Themes wordpress
- 10 customisations du thème WordPress Thesis
- 25 hacks WordPress
- MarketTheme, le thème WordPress pour la vente en ligne








Ca ne pouvait pas mieux tomber, j’étais pile en train de chercher le moyen de créer un telle page, me voila servi !
C’est toujours agréable de rendre service, mais encore plus lorsqu’il s’agit d’un blog de qualité à l’instar du tient
Arrête j’ai les chevilles qui enflent….
Merci pour les conseils!
J’utilisais ELA avant mais il n’est plus mis à jour vraiment et il buggait sur mon site… j’ai utilisé ton code et viré le plugin!
Au fait, dans ta knowledge bank, aurais-tu un truc pour:
- Montrer un nombre d’articles différent selon la catégorie? Ex. sur la page de recherche, montrer 5 posts en résultat, sur la page d’archive de X catégorie, montrer 10 posts par défaut etc. J’utilise un plugin qui fait ça mais je me demandais si il y avait un truc… j’essaie de réduire mon nombre de plugins!
Ouais je pense que c’est possible, notamment en jouant avec la fonction query_posts() ou tu peux spécifier le nombre d’article à récupérer de la BDD, les catégories auquel ils doivent appartenir, etc…
merci, je vais essayer ça d’ici peu
J’ai constaté 2 petites erreurs dans le code (2 espaces de trop car sinon ça ne marche pas, du moins chez moi):
et
Code corrigé :
et
A+
Effctivement Maigret, il n’y a pas d’espace dans la balise php. L’erreur est corrigée, elle doit être dûe au formattage de WordPress, ou peut-être une erreur d’inatention de ma part.
En tout cas, un grand merci pour ta vigilance!
De rien !
Merci pour ces conseils ! J’ai opté pour la solution « a la mano », mais je vais essayer les plugins que tu indiques pour voir ce que cela donne.
Crer une page darchive pour son thme WordPress…
Selon moi, tous les blogs devraient possder une page darchive: En plus de permettre vos lecteurs de parcourir votre blog rapidement et de trouver ce quils cherchent, cette page est galement bonne pour votre rfrencement vu quelle permet aux robots dind…
Créer une page d’archive pour son thème WordPress…
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 per…
@Fabino: J’aime aussi bien la solution à la main. ça n’apporte pas grand chose par rapport au plugin si ce n’est un peu plus de confort et le plaisir de le faire
Bonjour,
Je me suis dit que ça pourrait être sympa d’avoir une page d’archives sur mon blog mais je suis un peu perdue. Toutes les étapes fonctionnent, sauf que nulle part on me demande sur quel « modèle » je souhaite que ma page repose.
Donc forcément ça ne fonctionne pas…
Aurais-tu une idée ? Je suis sous WP 2.6
Je pense que ceci t’aidera grandement…J’aurais du mettre ce genre de screenshot en rédigeant l’article!
Merci jbj, mais je suis toujours aussi perdue.
Je suis peut être un peu bête, mais il ne me semble pas avoir la même interface que ce screenshot sous la 2.6…Je ne regarde peut être pas au bon endroit.
Ce screenshot est bien visible dans le mode rédaction d’une nouvelle page ?
Non en effet je n’ai pas trouvé de screenshot sous la 2.6…Lorsque tu édites ta page, scrolle tout en bas: Tu verra « Modèle de page » et la tu pourra choisir ta page d’archives
Non justement j’ai bien regardé, on ne me propose que les champs personnalisés, les tags, la protection de la page, la page mère de ma page, et l’ordre de la page. Aucun modèle.
Je vais me renseigner sur le forum du support.
Merci quand même
Ok je crois avoir compris.
Visiblement je ne disposais pas de modèles de pages, j’en ai créé un selon l’astuce dispo sur le support wordpress.
Assemblé à ton code j’obtiens ceci :
Archives mensuelles
Archives par catégories
Le problème que je rencontre c’est que cette page n’a pas l’air de prendre en compte la feuille de sytle de mon blog : voir ici
Bon, je suis vraiment désolée je suis en dessous de tout.
J’avais mal compris ton post en fait. La création d’un template est logique.
Donc désolée d’avoir pollué ce post.
Je reste avec mes soucis de style mais bon, c’est pas bien grave, je débute avec WordPress.
Bonne soirée
Tant mieux si tu as su solutionner ton problème
Salut,
tout d’abord, un grand bravo et merci pour cet article clair, limpide même, et super complet.
Personnellement, j’utilisais SRG Clean archives et Extended Live Archives (les deux plugins que tu cites dans ton post) et ils sont super. Problème : depuis que j’utilise exec-php sur mon blog, je ne peux plus faire fonctionner ces plugins (pour une raison inconnue de moi).
je pense donc faire un template pour les archives « a la mano », comme tu dis, et cet article me sera très utile….
à bientôt
[...] de Jbj sur la création d’un page d’archive pour son thème WordPress [...]
bjr et merci pour ton code, il fonctionne chez moi avec WP 2.6.
Je te signale l’inversion des contenus par rapport au titres (catégories et mensuel)
A+
Merci beaucoup pour cet article: c’est tombé à point nommé et je n’irai pas jusqu’à dire qu’il m’a sauvé la vie mais presque….
Bravo pour l’article sa m’a bien servi!
Super
Mais existe t il un moyen de compter le nombre d’articles d’une catégorie et de ses catégories filles ?
kvf300
Bonjour,
Je ne sais pas pourquoi, mais je n’ai pas l’option « Modèles de page » lorsque je créé ou modifie une page dans l’administration.
J’ai pourtant des modèles de pages présents sur mon serveurs, j’en ai même créé un avec le tutoriel présent dans ton article, mais rien à faire …
Tu sais d’où cela peut provenir ?
[...] de Jbj sur la création d'un page d'archive pour son thème WordPress [...]
euh je comprends pas bien l’intérêt ? en gros c’est une sidebar, tu listes les catégories et ensuite les archives, pas les archives pour chaque catégories ???
[...] de Jbj sur la création d’un page d’archive pour son thème WordPress [...]