Blog

Utiliser plusieurs sidebars sous WordPress

Écrit le 27 10 2012 par Kévin MET _

Aujourd’hui, un petit article pour expliquer comment créer plusieurs sidebar dans WordPress. C’est assez simple mais cela passe forcement par l’édition de votre thème.

Pour commencer vous devez éditer le fichier functions.php de votre thème. Vous allez devoir y ajouter ces quelques ligne de code :


if ( function_exists('register_sidebar') )
	register_sidebar(array('name'=>'sidebar-truc'));
	register_sidebar(array('name'=>'sidebar-muche'));

A partir de ce moment si vous retourner dans la catégorie widget de votre WordPress, vous obtenez deux sidebars au lieu d'une seule sur le coté droit. Vous remarquez que les deux sidebars ont chacune un nom différent. Cela va permettre des les appeler dans votre thème à n’importe quel endroit. Pour cela il faut simplement ajouter le code suivant là ou vous voulez les appeler :


if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-truc')) :
endif;

Ce petit bout de code appelle donc la sidebar qui se nomme « sidebar-truc ». Logiquement vous ajouterez ce code dans le fichier sidebar.php de votre thème mais vous pouvez l’utiliser n’importe où dans votre thème. Sachant que par défaut les sidebar sont composés de liste, il est plus élégant de disposer ce genre de chose dans une colonne mais vous pouvez très bien choisir de styliser votre sidebar en CSS pour qu’elle s’affiche à plat. Ou alors, vous pouvez changer la manière dont votre sidebar sera composé en le déclarant dans la fonction register_sidebar. La liste des paramètres est disponible ici : register_sidebar. Si vous désirez disposer votre sidebar de façon horizontal pour l’utiliser en tant que menu, il sera plus approprier d’utiliser la fonction menu arrivée avec WordPress 3.0 qui vous permettra une plus grande souplesse dans le changement des liens. Je ferais d’ailleurs un article prochainement sur l’utilisation des menus dans WordPress.

Bien sur, vous pouvez avoir autant de sidebar que vous le souhaitez en utilisant la fonction register_sidebar autant de fois que nécessaire dans votre fichier functions.php. Pour compléter ce petit article je vais vous expliquer comment faire apparaitre une sidebar plutôt qu’une autre en fonction de la catégorie sur laquelle se trouve votre visiteur :


if (in_category('truc')) {
	dynamic_sidebar('sidebar-truc');
} else {
	dynamic_sidebar('sidebar-basique');
}

Dans cette exemple, lorsqu’un visiteur est dans la catégorie « truc » de votre site, il obtient la sidebar « sidebar-truc » alors que sur le reste du site il aura la sidebar « sidebar-basique ». Évidemment, tous ces bouts de code sont à mettre entre des balises php car il s’agit de code php. Pour rappel, il s’agit de <?php en ouverture et de ?> en fermeture.

N’hésitez pas à poser des questions ou à ajouter votre grain de sel en commentaire.

♥ Partage sur tes réseaux sociaux ♥
Kévin MET
Kévin MET

Auteur de ce blog et gérant de la société MNT-TECH, je publie sur ce blog lorsque le temps me le permet et lorsqu'un sujet qui me parait intéressant n'a pas encore été abordé en français. Toutes les informations techniques présentes sur cette page peuvent être réutilisées moyennant le fait de citer la source.