La blogroll, c’est en général le grand fourre tout voir bien souvent le grand n’importe quoi.
On affiche d’un coup des tonnes de liens, ça prend une place folle dans la sidebar à tel point que de nombreux blogueurs la placent dans une page dédiée voir la supprime totalement.
Comme vous l’avez peut être constaté, ce blog subit de profonds changements, l’occasion pour moi de tester différentes choses et de mettre en place certaines idées que j’ai eu.
Parmi celles-ci, la blogroll thématique.
Passons aux choses sérieuses : la technique
Afficher une blogroll (liste de liens externes) thématique en fonction d’une catégorie ou d’un tag
Pré requis : utiliser wordpress, bidouiller un peu le PHP (et encore) et surtout connaitre un peu le moteur wordpress.
Première étape : créez une catégorie de liens.
Allez dans votre interface wordpress, onglet liens > catégories de liens
Créez une catégorie thématique (exemple référencement), enregistrez là.
Affichez la liste des catégories de liens et cliquez sur le lien modifier la catégorie.
Regardez l’url affichée dans votre barre d’adresse elle se finit par le code suivant : cat_ID=X.
X est l’identifiant de votre catégorie, notez le dans un coin et passons à l’étape 2.
Deuxième étape : récupérer l’identifiant de la catégorie d’articles concernée.
Allez dans votre onglet Articles > Catégories.
Faites la même chose que pour la catégorie de liens et notez le numéro identifiant dans un coin.
Troisième étape : récupérer l’identifiant du tag qui vous intéresse.
Là c’est pas difficile, en fait, il vous suffit de récupérer le Slug du tag, vous pouvez même le déduire aisément :
- retirez les accents
- remplacez les espaces par des –
- retirez les majuscules
Exemple : Référencement devient referencement, mais vérifiez quand même des fois que.
Dernière étape, le code pour afficher la blogroll thématique
Ouvrez le fichier sidebar.php de votre thème et ajoutez le code suivant à l’emplacement ou vous voulez voir apparaitre la blogroll thématique :
<?php if (is_category('8') || in_category('8') || has_tag('referencement')) { ?>
<ul class="xoxo">
<h3>Blogs de Référencement</h3>
<ul>
<?php wp_list_bookmarks('title_li=&categorize=0&category=44'); ?>
</ul>
</ul>
<?php } ?>
is_category('8')
définit si vous êtes sur une page d’archive de catégorie
in_category('8')
définit si l’article affiché fait partie de la catégorie ciblée
has_tag('referencement')
regarde si votre article possède le tag ciblé
<?php wp_list_bookmarks('title_li=&categorize=0&category=44'); ?>
affiche la liste de liens de la catégorie ciblée.
A vous d’utiliser les identifiants que vous avez noté plus haut.
Ce code est à personnaliser en fonction de la construction de votre sidebar.
Sur l’Ajblog, ce code me permet d’afficher la blogroll de blogs et sites parlant de référencement sur les pages d’archives de la catégorie, sur tous les articles de la catégorie et sur tout article possèdent le tag référencement (et ne faisant pas forcément partie de la catégorie référencement).
Vous pouvez ensuite répéter ce code (ou l’affiner avec des elseif) pour chaque catégorie de liens thématiques de votre blogroll.
10 réponses à “WordPress : afficher une blogroll contextuelle”
Tiens, sympa comme truc, j’avais jamais pensé à personnaliser la blogroll :)
Genial, merci pour le tuto; j’ai visité la catégorie referencement (https://ajblog.fr/referencement/) pour voir le résultat, nikel!
PS: nan, tjs pas de pseudo ;-)
Je vais essayer d’affiner la technique, et si on a le temps, je vais demander à JulienA si il y a moyen d’en faire un plugin.
PS : Webmaster, c’est mal.
Ca existe deja avec les widget il me semble… :
http://konstruktors.com/blog/wordpress/842-wordpress-gpl-widget-context-plugin/
http://www.thaslayer.com/2009/03/03/ts-custom-widgets-v-20-sexier-than-ever/
:)
Morgan : en fait, dés que possible, j’essaie de coder mes fonctions moi même, au moins je maîtrise la qualité du rendu html. Là j’ai installé pas mal de plugins et je passe mon temps à hurler sur les codeurs qui n’y connaissent rien en html (ou s’en foutent).
En fait je me disais que tu pouvais peut etre simplement t’inspirer ou que ça pouvait t’aider à coder le plugin plus vite/facilement ;)
Bookmarqué je cherchais justement comment faire, merci pour le code :)
Merci pour google :), et merci a toi pour ce tut.
Amicalement
Morgan : effectivement, on va étudier leur code au passage.
Andlil, Kamal : de rien, c’est là pour ça.
Bravo ! en voila une bonne idée pour des échanges de liens ciblés.
Une petite question : a votre avis est-il possible d’afficher un lien que sur l’index ?
Merci