Une page d’archives sans plugin (WordPress)

UnePageDarchivesSansPlugin

Comme vous vous en rendrez très vite compte avec ce tuto et les suivants qui arriveront, je ne suis pas un grand partisan de l’utilisation « abusive » de plugins sous WordPress. Du coup, j’en profite pour vous proposer d’autres possibilités alternatives.

Aujourd’hui, je vais vous montrer comment créer très simplement une page d’archives sous WordPress. Plus simple ? Vraiment pas possible.

Pour cela, vous avez besoin de créer un fichier dans le dossier de votre thème WordPress (disponible dans le répertoire wp-content/themes/votre_theme). L’idéal étant de nommer ce fichier template-archives.php.

Template ? C’est quoi ce nom ? Un fichier template, ce sont, pour faire simple, les modèles de page que vous pouvez voir lorsque vous créez une page :

image-01

Lorsque WordPress affiche une page, il récupèrera le modèle page.php disponible dans le dossier de votre thème. En créant un modèle de page (et en l’utilisant de facto), nous allons faire en sorte que WordPress récupère notre template plutôt que le modèle page.php.

Maintenant que notre fichier est créé, il va falloir indiquer à WordPress que ce fichier est un template. On procède donc comme suit :

<?php
/*
    template name: Archives
*/

?>

Ces lignes sont à mettre au tout début de votre fichier. Le plus important étant « template name: ». Plus qu’à mettre un nom derrière.
Sauvegardez votre page et rendez-vous dans l’administration WordPress et ajoutez une nouvelle page. Vous devriez voir apparaitre dans la liste des modèles de page le modèle « Archives ».

Sauf que si vous affichez votre page, ben il n’y aura pas grand chose (pour ne pas dire rien du tout). Du coup, on retourne dans notre fichier template-archives.php.

Première chose à faire, insérer le header et le footer du site avec les fonctions WordPress.

<?php get_header(); ?>
  <!-- votre cote ici -->
<?php get_footer(); ?>

Je ne traiterai pas la partie visuelle ici mais me contenterai du strict minimum en ne vous montrant que le code « nécessaire ». A vous de mettre les class et id associées à votre thème pour intégrer la page correctement dans votre thème.

La première étape va consister à récupérer la liste des catégories (en tout cas celles contenant des articles).

<?php
    $cats = get_categories();
    foreach ($cats as $cat) {
?>
    <h2><?php echo $cat->cat_name; ?></h2>
    <!-- votre code ici -->
<?php } ?>

Explications : on récupère toutes les catégories dans une variable. Derrière, une boucle qui traitera chaque élément de notre variable (donc chaque catégorie). Derrière, on affiche le titre de chaque catégorie.

Maintenant, deuxième étape, afficher les articles de chaque catégorie. On le mettra à la place du commentaire dans le code ci-dessus.

query_posts('showposts=10000&cat='.$cat->cat_ID);
<?php while (have_posts()) : the_post(); ?>
<ul>
    <li><h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><?php comments_number(' (aucun commentaire)', ' (1 commentaire)', ' (% commentaires)') ?></h3></li>
</ul>
<?php endwhile; ?>

Ici aussi rien de bien complexe puisque nous reprenons tout simplement le loop WordPress dans une version bien plus simplifiée. La seule difficulté réside dans la ligne :

query_posts('showposts=10000&cat='.$cat->cat_ID);

Cette fonction nous permet d’ajouter des « options » aux articles que l’on va récupérer. Ici, nous demandons de récupérer 10000 articles (mettez plus si vous pensez être vraiment productifs) et la catégorie que nous sommes en train de traiter. Pour rappel, nous sommes toujours dans le foreach.

Et derrière donc, la boucle WordPress traditionnelle où nous récupérons le lien de l’article grâce à la fonction WordPress the_permalink(); et affichons son titre avec the_title();.

Le petit bonus ici est d’afficher le nombre de commentaires, mais histoire de rester simples, on utilise encore une fonction WordPress comment_number().

Bien entendu, ceci reste vraiment très basique ! Si vous avez d’autres envies d’ajout d’options dans l’affichage, c’est possible sans véritable problème, vous n’avez plus qu’à imaginer.

En tout cas, sachez que la page d’archives de ce site est construite exactement de cette manière. Du coup si ça peut vous donner des idées…

Envie de partager cet article ? Google+

Date de sortie : 20 mars 2013
Auteur : Bardyl
Consultations : 3628
Commentaires : 0
Catégorie : Développement

Bardyl, une histoire de pousin.

Poussin de son état, Mathieu Menut (alias Bardyl ou Bardylette suivant les lieux) est un simple passionné du Web depuis de nombreuses années. Mathieu aime tout ce qui attrait au développement, au graphisme, référencement... Il s'intéresse à plus ou moins tout et prône la généralisation des 35 heures par jour.

Twitter : @Bardylette / web : menutmathieu.fr