WordPress : afficher une blogroll contextuelle


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”

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

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

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