Une fonction breadcrumb pour Wordpress

Publié le 26 avril 2008 par Jbjweb

Par défaut, Wordpress ne propose pas de fonction pour afficher un breadcrumb. (appellé aussi fil d’ariane où chemin de fer en Français) Nous allons voir ensemble comment créer cette fonction, afin d’afficher le fil sous la forme Home » Categorie » Article.

Le breadcrumb, toute une histoire…

Wikipedia nous renseigne parfaitement sur le breadcrumb:

En ergonomie — et plus particulièrement de nos jours dans le domaine de la conception d’interfaces informatiques — un fil d’Ariane, aussi appelé chemin de fer (et en anglais, breadcrumbs, par allusion aux miettes de pain utilisées par le Petit Poucet ainsi que Hansel et Gretel) est une aide à la navigation sous forme de signalisation de la localisation du lecteur dans un document (très souvent, une page d’un site web).

Fonctionnement

Une fois de plus, les tags conditionnels de Wordpress vont nous être particulièrement utiles. Grâce à eux, nous pouvons déterminer facilement et avec certitude si la page affichée par le visiteur est un article, une page, une archive de catégorie…

Il nous restera ensuite à utiliser les fonctions adéquates pour afficher le chemin. Pas de difficultés là non plus, Wordpress étant déja doté de tout ce qu’il faut pour récupérer les liens vers la home, les articles et les pages.

J’ai préféré écrire une fonction propre plutôt que de vous inciter à copier-coller à l’arrache une petite dizaine de lignes dans le code de votre thème.
Copiez la fonction the_breadcrumb() dans le fichier functions.php de votre thème:

function the_breadcrumb() {
	if (!is_home()) {
		echo '<a href="';
		echo get_option('home');
		echo '">';
		bloginfo('name');
		echo "</a> » ";
		if (is_category() || is_single()) {
			the_category('title_li=');
			if (is_single()) {
				echo " » ";
				the_title();
			}
		} elseif (is_page()) {
			echo the_title();
		}
	}
}

Désormais, pour afficher le breadcrumb, il ne vous reste plus qu’à éditer les fichiers archive.php, single.php et page.php.
Collez-y l’appel à la fonction là ou vous souhaiter voir le fil apparaitre:

<?php the_breadcrumb(); ?>

Et voilà, vous venez de doter votre blog d’un fil qui permettra à vos visiteurs de s’y retrouver et de revenir facilement sur vos pages de catégories.
A noter, ce code pourrais facilement être amélioré: On pourrait par exemple limiter l’affichage des catégories et n’en faire apparaitre qu’une seule.

Quand à ceux qui préfèreront installer un plugin au lieu d’éditer leur thème, Breadcrumb NavXT devrait largement combler leur attentes.