Magazine Internet

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).

Une fonction breadcrumb pour Wordpress

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.


Retour à La Une de Logo Paperblog

LES COMMENTAIRES (6)

Par Epictures
posté le 07 octobre à 11:15
Signaler un abus

Merci pour l'article, cela fait un moment que je voulais mettre un fil d'ariane sur mon blog! J'en avais vu d'autres sites, mais celui-là est parfait (en plus d'avoir un code très court) car il affiche la catégorie dans laquelle l'article est présent au lieu de mettre juste "Accueil >> nom de l'article" comme je l'ai souvent rencontré.

Par Alecsy
posté le 18 janvier à 22:43
Signaler un abus

Salut,

Merci pour cette petite fonction qui marche nickel :)

Par création de site internet Bretagne
posté le 13 décembre à 18:52
Signaler un abus

Bonjour, j'utilise cette fonction qui est très bien pour mes sites wordpress. Je bloque par contre sur un problème en ce moment. Je souhaite qu'une catégorie dans laquelle se situe un article ne s'affiche pas dans le fil d'Ariane. Donc, exclure une catégorie. J'ai essayé de faire des excludes php, mais ça ne fonctionne pas. Avez-vous un conseil? Merci d'avance.

Par Matthieu Lerat
posté le 25 octobre à 14:04
Signaler un abus

Ta fonction est pas mal mais il y a également une autre solution avec une fonction Wordpress qui permet de générer un Breadcrumb ! :D

=> getcategoryparents($id, FALSE, ' >');

=> lire : http://codex.wordpress.org/FunctionReference/getcategory_parents

Par Didier_S
posté le 06 mars à 19:43
Signaler un abus

Hmm, jolie fonction. Je vais essayer de l'adapter aux Pages statiques de Wordpress (toute la difficulté venant du fait qu'une page peut être à n'importe quel niveau N de l'arbo...). Je te tiens au courant si j'aboutis à quelque chose de correct. Merci pour le code utile et la bonne piste! :)

Par RippeR
posté le 16 juin à 16:47
Signaler un abus

Super ! J'étais justement en train de le chercher. Bonne fonction et merci de la faire partager aux autres.

A propos de l’auteur


Jbjweb 18 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossiers Paperblog

Magazine