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 prennent en charge les étiquettes, tout en travaillant sur la prise en charge des étiquettes sur les versions précédentes de thèmes. Dans ce guide, je vais vous apprendre comment ajouter la prise en charge des étiquettes à 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 ?
D'accord, si vous ne savez pas ce qu'est une étiquette, et quelle est la différence entre une catégorie et une étiquette - lisez l'article Catégories contre étiquettes 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 étiquettes dans la boucle, similaire aux catégories. Empruntons "quelques lignes de code" à mon thème WordPress préféré de tous les temps, Kubrick (le thème par défaut).
<?php the_tags('Étiquettes : ', ', ', '<br />'); ?>
Il est un peu difficile de lire les arguments, mais le premier argument est ce qui est affiché avant (actuellement Étiquettes :, puis le séparateur virgule (entre chaque étiquette), 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 d'étiquettes sur un article spécifique. Pour entourer vos étiquettes 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 étiquettes aux catégories, ou en conjonction avec les catégories et que votre thème ne le prend pas en charge – 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 !
brillant. incroyablement utile. merci !
@Hamish : Vous devriez probablement créer un modèle tag.php, et simplement supprimer tout dans la boucle sauf les titres des articles.
Lisez ce tutoriel précédent ici sur Theme Lab, car il pourrait vous aider.
Excellent article !!! Je suis sûr que ces informations seront utiles.
Ce que j'essaie de faire, c'est que WordPress affiche simplement une liste de titres d'articles lorsque vous cliquez sur un tag, plutôt que les articles entiers... Est-ce étroitement lié à cela ?
Tout ce que j'ai pu trouver est ceci http://forum2.bytesforall.com/showthread.php?t=351, mais cela ne semble pas pertinent pour WordPress 2.7.1, ou le thème que j'utilise, l'un des deux !
Merci pour cette merveilleuse astuce. Dès que j'ai mis à jour vers une version récente de Wordpress, le plugin qui fonctionnait avec mon thème actuel a cessé de fonctionner pour afficher les tags. J'étais très déçu et je n'ai trouvé aucun plugin compatible avec la version WP. Heureusement, je suis tombé sur votre article et cela a résolu mon problème. Merci encore.
@Meredith : Eh bien, si vous voulez que les tags soient listés sur une page d'article unique, par exemple, vous mettriez le code suivant dans votre fichier single.php.
<?php the_tags('<p>Étiquettes : ', ', ', '</p>'); ?>Cela affichera les liens vers les pages de tags, que vous avez assignés à un article spécifique dans le menu d'écriture.
Est-ce de cela que vous parliez ?
Il s'avère que mon thème était très obsolète. Il affichait les catégories, mais pas les tags, même avec le code ajouté. Je ne me souviens plus de ce que j'ai fait à ce stade pour que cela fonctionne, mais ça fonctionne maintenant. Merci pour l'aide !
Je n'ai toujours pas trouvé comment afficher les tags sur mon blog. J'ai mis le code que vous avez listé, à l'endroit approprié. Je me demande si je dois d'abord ajouter la fonction dont vous parlez (the_tags()), mais je n'ai aucune idée où ni comment le faire. Toute aide est appréciée.
[...] le thème a une barre latérale entièrement gérée par des widgets, y compris une barre de recherche et un calendrier stylisé, ainsi que la prise en charge des tags et des Gravatars de commentaires (WordPress 2.5+ [...]
Merci pour cet article et votre explication simple, j'ai pu l'implémenter sur mon blog. Veuillez voir mon blog pour preuve.
Merci, ça a beaucoup aidé. Je cherchais une solution pour simplement lister les tags.
<?php the_tags('Tags : ', ', ', ''); ?>
Je l'ai mis sur mon blog et ça semble fonctionner, je vois mes tags, je clique dessus et j'arrive à d'autres sections du site, ce qui est génial, mais beaucoup de mes tags ne fonctionnent pas et mènent à la page 404 du blog, indiquant que le terme de recherche n'a pas été trouvé ? Des idées ?
Je souhaite remplacer le mot 'Tags' par une image, mais j'ai du mal à obtenir la bonne syntaxe. Actuellement, je l'ai changé comme ceci, mais une virgule s'affiche avant le premier tag.
Code original :
<?php the_tags('<p>Tags : ', ', ', '</p>'); ?>Nouveau code – 1ère tentative (donne une erreur d'analyse) :
<?php the_tags('<p><img alt="Tags" src="', get_bloginfo('stylesheet_directory')',/images/icon-tags.gif" /> ', ', ', '</p>'); ?>Nouveau code – 2ème tentative (a une virgule avant le 1er tag) :
<p><img alt="Tags" src="<?php echo get_bloginfo('stylesheet_directory') ?>/images/icon-tags.gif" /> <?php the_tags(', ') ?></p>Je pense que la première façon dont j'ai essayé est la meilleure façon d'écrire le code, cependant, il semble que ma syntaxe soit incorrecte pour la source de l'image (par exemple, je n'échappe pas correctement en et hors de php). Toute aide serait très appréciée.
Santé,
Brian
As-tu obtenu des résultats avec ça Brian ? J'ai le même problème
@Nora : Qu'est-ce qui n'a pas fonctionné exactement ?
ça n'a pas marché pour moi 🙁
Salut mec ! Merci pour tes publications…
Tes deux publications sur Gravatar et celle-ci m'ont vraiment aidé à résoudre mon problème avec le nouveau thème que j'ai créé..
TRÈS BIEN !
Merci d'avoir posté des instructions faciles pour nous, les « détracteurs des nuages de tags ». 🙂
[…] chez Theme Lab, y compris le support Gravatar pour les commentaires, une barre latérale prête pour les widgets et le support natif des tags WordPress. Ce thème est également prêt pour les publicités 125×125, qui peuvent être modifiées via sidebar.php […]
[…] Celui-ci a toutes les fonctionnalités habituelles, y compris le support natif Gravatar (WordPress 2.5+ uniquement), le support des tags et une barre latérale prête pour les widgets. Il dispose également d'un modèle de page d'accueil spécial avec 3 zones pour placer vos […]
Merci ! Je n'arrivais pas à faire apparaître un nuage de tags dans mon thème et c'était extrêmement frustrant. Après avoir lu cet article, j'ai réussi !
@Menno : Je ne suis pas sûr que les catégories et les tags puissent être combinés. Il existe peut-être un plugin qui peut faire cela, mais je ne suis pas sûr.