Comme vous le savez déjà, mon blog est construit sur la plateforme Wordpress. Grâce au (très bon) tutoriel proposé par Maigret, j’avais déjà mis en place la page « Blogmap » qui affiche les archives des articles par catégorie, en plus des archives chronologiques proposées par Wordpress.
A propos de ces archives chronologiques, elles correspondent en général au fichier archive.php de votre thème Wordpress. On remarque vite que les articles sont listés avec un extrait voire l’intégralité de leur contenu, ce qui les distingue peu des articles standards qu’on parcourt en temps normal dans un blog. Personnellement, il me suffit de voir le titre d’un article pour comprendre son contenu (à condition que les titres soient bien choisis, sinon je zappe…) et j’aime voir des archives dont je peux parcourir d’un trait le contenu.
L’autre point qui m’imposait un changement, est l’inévitable accumulation de ma rubrique « Archives » (dressée par mois) dans la sidebar. Une des solutions serait de faire migrer les archives vers une page et opter pour certains plugins (SRG Clean Archives, Simple Yearly Archive…) comme je l’ai fait pour la blogmap, mais cela aurait engendré un déséquilibre visuel entre la division du contenu et la sidebar (qui est déjà suffisamment vide comme ça). L’autre est de regrouper les archives par années. Mais comme chaque page affiche un nombre limité d’articles, la navigation risque d’être très laborieuse pour le lecteur…
Alors pour trouver un compromis, mon idée a été de modifier ce fichier archive.php de manière à afficher une liste de titres d’articles. Ainsi, chaque catégorie, tag, mois ou année est intégralement visible sur une page.
Voici le code à mettre dans la division du contenu (nommée « content » chez moi) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <?php $post = $posts[0]; // Hack. Set $post so that the_date() works.// /* If this is a category archive */ if (is_category()) { ?> <h1> Archive pour la catégorie ‘<?php single_cat_title(); ?> ’</h1> <?php $current_cat = single_cat_title("", false); query_posts("showposts=300&category_name=$current_cat&order=ASC"); /* If this is a tag archive */ } elseif (is_tag()) { ?> <h1> Archive pour le thème ‘<?php single_tag_title(); ?>’ </h1> <?php $current_tag = single_tag_title("", false); query_posts("showposts=300&tag=$current_tag&order=ASC"); /* If this is a monthly archive */ } elseif (is_month()) { ?> <h1>Archive pour <?php the_time('F Y'); ?></h1> <?php query_posts("showposts=300&monthnum=$monthnum&year=$year&order=ASC"); /* If this is a yearly archive */ } elseif (is_year()) { ?> <h1>Archive pour <?php the_time('Y'); ?></h1> <?php query_posts("showposts=300&year=$year&order=ASC"); /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?> <h1>Archives du blog</h1> <?php query_posts("showposts=300&order=ASC"); } if (have_posts()) : if (is_year()) { ?> <ul> <?php while (have_posts()) : the_post(); ?> <li style="font-weight:normal !important;"><?php the_time('j F') ?> : <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> - <?php echo $post->comment_count ?> Commentaire(s)</li> <?php endwhile; ?> </ul> <?php } elseif (is_month()) { ?> <ul> <?php while (have_posts()) : the_post(); ?> <li style="font-weight:normal !important;"><?php the_time('j') ?> : <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> - <?php echo $post->comment_count ?> Commentaire(s)</li> <?php endwhile; ?> </ul> <?php } elseif ( (isset($_GET['paged']) && !empty($_GET['paged'])) || ((is_category()) || (is_tag())) ) { ?> <ul> <?php while (have_posts()) : the_post(); ?> <li style="font-weight:normal !important;"><?php the_time('j F Y') ?> : <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> - <?php echo $post->comment_count ?> Commentaire(s)</li> <?php endwhile; ?> </ul> <?php } else { ?> <p><?php _e('Désolé, aucun article ne répond ´ vos crières.'); ?></p> <?php } endif; ?> |
A noter que le nombre d’articles à afficher « showposts » est à augmenter si certaines sections de votre blog contiennent un nombre élevé d’articles.
Ne maîtrisant pas encore parfaitement le langage PHP, il est fort probable que ce code puisse être amélioré. Toute suggestion est la bienvenue.
Pas de commentaire
