Avec WordPress, on peut créer des sidebars pour insérer des widgets à peu près n’importe où sur votre site.
Très pratique, ces emplacements personnalisés peuvent être affichés en fonction d’une condition et notamment d’un tag comme je vous l’explique dans ce tutoriel.
Récemment, j’ai du refondre le site Protuts.net que j’ai fondé il y a maintenant 3 ans. Un problème qui s’est posé à moi fut d’afficher une sidebar uniquement si le mot-clé ou tag correspondait à imagine-cup.
De fait, voici la technique que j’ai utilisée que vous pourrez facilement adapter à vos besoins.
Ouvrez par exemple le fichier single.php qui est le modèle PHP pour afficher les articles de votre site WordPress. Remarquez la présence d’une ligne appelant la sidebar :
Cette ligne est présente dans la plupart des thèmes. Remplacez donc celle-ci par ce bout de code :
Ces lignes vérifient dans un premier temps si l’article est tagué imagine-cup. Si oui, la sidebar dédié à Imagine Cup s’affiche – elle porte le nom de sidebar-mspsmt.php dans ce cas là, si non la sidebar par défaut s’affiche.
Voici l’exemple final sur la page dédiée à l’Imagine Cup 2012 sur Protuts – je fais partie de l’équipe Social Media en charge de faire le buzz sur la toile, si vous recherchez plus d’infos faites-le savoir !
L’avantage de cette technique est quelle fonctionnera non seulement pour un article (single.php) mais aussi pour une page tag ou catégorie – bien que dans ce dernier cas on préférera créer un fichier PHP dédié.
Bonjour et merci pour l’astuce.
J’ai juste une question “idiote” : je travaille sur un thème enfant sous Genesis. En intervenant dans le fichier single.php, est-ce que je m’expose à des problèmes lors des futures mises à jour? 🙁
Très intéressant ! Et si je veux qu’une catégorie précise d’articles s’affiche sans aucune sidebar, je procède comment, avez-vous une suggestion ?
S’il s’agit d’afficher la page d’archive d’une catégorie, il suffit de l’ajouter dans un menu de navigation…
Salut,
Je n’ai pas tout compris, ce que je souhaite faire :
afficher une sidebar différente pour certains articles, j’ai donc modifier le fichier single.php et ajouter le mot clé “imagine-cup” à l’article ou je souhaite afficher une autre sidebar.
Mais je dois créer un fichier imagine-cup.php avec les mêmes données que sidebar.php ?
J’ai du louper quelque chose
Merci d’avance pour votre aide 😉
Vous ne devez pas reprendre le mot-clé imagine-cup mais le tag que vous utilisez sur votre site. Relisez le tutoriel. 😉
Bonjour et bravo pour votre savoir partagé.
J’espère que ma question sera comprehensible est t’il possible de rendre dynamique la récuperation du has_tag pour y passer par exemple le nom de l’article et utilisé ce tag dans mes articles liés pour les afficher ???
Je voudrais afficher dans ma sidebar les articles en relations avec l’article principal.
Exemple j’ai un article d’un domaine viticole nommer PIERRE, je veux afficher les offres de ce domaine qui contiendront le tag Pierre et ainsi de suite pour les autres articles et articles liés. Je n’aurai bien sur qu’une seule sidebar qui adaptera le contenu en fonction du nom de l’article principal.
Merci et longue vie a wpchannel.
Oui c’est tout à fait possible de créer une telle fonction. Maintenant, je ne peux y passer du temps pour te proposer un exemple. Essaies d’utiliser le codex WordPress pour ce faire ou demandes de l’aide sur les forums (GeekPress, WordPress francophone, etc.). Un plugin d’articles relatifs fonctionne généralement avec les tags aussi.
Bonjour et merci de votre réponse 🙂
Pas de soucis pour l’exemple.
Pour ce qui est des plug-in moins j’en ai mieux c’est même si j’en utilise car certains sont très performants.
Mais je vais approfondir la chose car je voudrais pouvoir personnaliser a 100% la chose.
Encore merci.
Moi c’est en fonction d’une page specifique que je desire changer mon side bar quelle fonction wordpress faudrait-il que j’utilise dans le “if” ???
Merci d’avance
PS : MErci pour la super bonne astuce ….
salut,
D’abord merci pour le tutoriel
mon problème c’est que je ne trouve pas la ligne
Avec un éditeur de code comme Notepad++ sous Windows ou Coda sous Mac OS, ouvrez les différents fichiers PHP de ton thème et fais une recherche globale ça ira plus vite. 😉
hello
qui saurait comment faire pour changer le header en flash en foction d’un tag ou d’une catégorie.?
merci par vanace pour votre temps.
Tu peux gérer différents header en indiquant le nom dans get_header(‘nom_fichier’). Ensuite, avec des conditions ça devrait le faire.
une idée pour un code complet?……le php et moi on est pas copain
Merci à tous !
En effet, on ne pense pas assez souvent à la fonction has_tag().
Bien joué ^^
Sympa et simple en plus à mettre en place sur son blog.
Ho sympa, on pense pas à utiliser le paramètre en fait. Merci !
Ben oui… je me suis dit, il me faudrait un truc qui fait un has_tag et oh bingo ça existe ! 🙂
C’est vrai…. “has_tag()” n’est pas une fonction que j’utilise souvent… Mais elle peut s’avérer très utile. Super tuto 🙂