Jeff Chandler a écrit une critique sur WPCandy de notre thème Nature Blog il y a quelques jours. L'une des choses qu'il a dites dans cette critique était la suivante :
Je ne vois pas immédiatement la prise en charge des étiquettes, mais c'est quelque chose qui ne serait pas trop difficile à ajouter. Cependant, je pense que les étiquettes devraient être une qualité par défaut dans les thèmes de nos jours, étant donné qu'il suffit d'ajouter cette fonction au thème.
Je ne pourrais pas être plus d'accord, et depuis cette critique, j'ai essayé de m'assurer que toutes les futures versions de Theme Lab aient le support des tags, tout en travaillant sur le support des tags pour les versions précédentes de thèmes. Dans ce guide, je vais vous apprendre comment ajouter le support des tags à vos propres thèmes qui n'en ont peut-être pas. Comme Jeff l'a dit, c'est vraiment « aussi simple que d'ajouter cette fonction au thème ».
Qu'est-ce qu'une étiquette ?
Ok, si vous ne savez pas ce qu'est un tag et quelle est la différence entre une catégorie et un tag – lisez l'article Catégories versus Tags sur Lorelle on WordPress. Je ne peux pas les expliquer mieux que cela, alors allez-y si vous n'êtes pas sûr.
Lister les étiquettes dans la boucle
La fonction the_tags() est la fonction utilisée pour afficher les tags dans la Boucle, similaire aux catégories. Empruntons quelques codes à mon thème WordPress préféré de tous les temps, Kubrick (le thème par défaut).
<?php the_tags('Tags: ', ', ', '<br />'); ?>
Il est un peu difficile de lire les arguments, mais le premier argument est ce qui est affiché avant (actuellement Tags:, puis le séparateur virgule (entre chaque tag), et enfin ce qui vient après – le saut de ligne. Parce que le code avant et après est inclus dans la fonction, il n'y a pas besoin de formatage HTML externe – donc rien ne sera affiché si vous n'avez pas de tags sur un article spécifique. Pour entourer vos tags d'une balise de paragraphe à la place, vous feriez ceci :
<?php the_tags('<p>Étiquettes : ', ', ', '</p>'); ?>
Vous pouvez placer ce code où que se trouve une Boucle, que ce soit votre Modèle d'Index Principal (index.php) ou votre Modèle d'Article Unique (single.php).
Ajouter un nuage d'étiquettes sur votre barre latérale
La fonction wp_tag_cloud est celle qui affiche le nuage d'étiquettes. Voici un exemple de base d'un nuage d'étiquettes affiché dans une barre latérale.
<?php wp_tag_cloud('smallest=8&largest=22'); ?>
smallest et largest sont les tailles de police. Placer le code suivant dans votre barre latérale produira quelque chose comme ceci.
Bien sûr, vous pouvez diminuer la taille de la police dans le paramètre largest si vous pensez que c'est trop grand. Une liste complète des paramètres se trouve sur la page wp_tag_cloud du Codex.
Afficher les étiquettes comme les catégories sur la barre latérale
Je sais qu'il y a des détracteurs du nuage d'étiquettes, donc si vous voulez afficher les étiquettes sous forme de liste, vous pouvez ajouter quelques paramètres à la fonction wp_tag_cloud pour le faire.
<?php wp_tag_cloud('smallest=10&largest=10&format=list&unit=px'); ?>
Cela rendra les polices de la même taille (10px) et les formatera en liste.
Conclusion
Si vous préférez les tags aux catégories, ou en conjonction avec les catégories et que votre thème ne le supporte pas – j'espère que cela a été facile à suivre pour vous. Faites-moi savoir dans les commentaires ce que vous en avez pensé. Merci encore à Jeff pour l'inspiration de ce tutoriel.
C'est un guide génial..
as-tu une idée de comment je peux ajouter une virgule dans “wp_tag_cloud”
entre les tags.. ??
Super article – merci beaucoup. Je vais ajuster le site maintenant pour l'inclure – cheers !
Hé – ça marche très bien pour moi. (Site pas encore lancé.)
Je tournait en rond jusqu'à ce que je trouve ça.
Merci
Je viens de le faire et ça a marché, merci beaucoup !
Laissez tomber le dernier commentaire. J'ai compris que je devais déplacer l'en-tête et "wp_tag_cloud" après le "endif" à la fin de la page, et désactiver le widget Tags.
Merci pour ces super conseils !
J'ai du mal à faire fonctionner cela dans mon modèle. Je veux juste que la barre latérale affiche les étiquettes sous forme de liste, avec le titre "Liste des clients". Peu importe la façon dont j'ajoute le code, il apparaît toujours sous forme de nuage de tailles différentes. Voici mon code dans "Sidebar.php":
Liste des clients
Ai-je mis cela dans le mauvais fichier ? Lorsque le widget de tag est actif, c'est un nuage. Lorsqu'il est inactif, tout a disparu. Je sais que c'est une chose simple qui me manque... Aide !