Les archives sur un blog posent en général, un problème assez bête: après quelques mois de fonctionnement, la sidebar est envahie par une liste de plusieurs dizaines de liens datés par mois. Lors de la conception du site, je cherchais un plug-in capable d’afficher les archives par mois pour l’année en cours, puis par année pour les années précédentes.

Mes recherches étant infructueuses, j’ai développé la fonctions PHP adéquates, en m’inspirant largement de la fonction native de WordPress. Je vous propose cette fonction.

Installation

  • Repérez le fichier functions.php qui est situé à la racine de votre thème. Ce fichier se trouve normalement dans le répertoire /wp-content/themes/<votre thème>. Si ce fichier n’existe pas créez-le,
  • Téléchargez le fichier suivant: wp_get_archives_advanced.zip,
  • Décompressez-le, et copiez le contenu du fichier wp_get_archives_adv.php dans le fichier functions.php.

J’étudierai ultérieurement comment créer une méthode d’installation plus conviviale que celle-ci.

Documentation

Description

Cette fonction affiche donc une liste d’archives, regroupée par année pour les articles antérieurs à une date pivot spécifiée, et regroupée par mois, pour les articles postérieurs à cette même date pivot. Cette fonction peut être utilisée n’importe où dans un fichier modèle.

Utilisation

<?php wg_get_archives_advanced('paramètres'); ?>

Les paramètres par défaut sont:

$defaults = array(
'pivot' => 0,
'limit' => '',
'format' => 'html',
'before' => '',
'after' => '',
'show_post_count' => false);

Paramètres

  • pivot
    • (entier) année pivot (défault l’année en cours),
  • limit
    • (entier) Nombre de lignes maximum souhaité (défault 0, pas de limite),
  • format
    • (chaîne de caractères) Format de la liste. Valeurs possibles:
      • html: liste non ordonnée (balises ul/li) – Utilise également les paramètres before et after – Valeur par défaut,
      • option: liste de sélection (balises select / option),
      • custom: format personnalisé en utilisant les paramètres before et after.
  • before
    • (chaîne de caractères) Texte placé devant le lien. Argument utilisé pour les valeurs html et custom de l’argument format. Pas de valeur par défaut.
  • after
    • (chaîne de caractères) Texte placé après le lien. Argument utilisé pour les valeurs html et custom de l’argument format. Pas de valeur par défaut.
  • show_post_count
    • (booléen) Affiche la liste des articles par archive si la valeur est 1 (ou TRUE) ou ne l’affiche pas si la valeur est 0 (ou FALSE). Valeur par défaut: 0.

Exemples d’utilisation

<h2>Archives</h2>
<ul>
<php wp_get_archives_advanced('pivot=&limit=0&format=html&before=&after=&show_post_count=1')?>
</ul>

Ce code donnera le résultat suivant:

Archives

  • 2006
  • 2007
  • Jan 2008
  • Fév 2008
  • Mar 2008

Fonction(s) liée(s)

wp_get_archives

Conclusion

La fonction wp_get_archive_advanced permet d’afficher les archives par mois ET par année, limitant ainsi le nombre de lignes affichées dans la sidebar.

La documentation et la méthode d’installation sont encore sommaires. Je les améliorerai lorsque mes connaissances sur WordPress se seront un peu étoffées.