Voici un truc tout simple pour créer autant de barres latérales (sidebars) que vous le souhaitez, afin de les équiper de widgets et les afficher dans diverses sections.

Ça devient très utile quand, par exemple, on veut créer une sidebar différente pour une page d’accueil (index.php), une page d’accueil de catégorie (archive.php) et un article seul (single.php).

Tout d’abord, il faut initialiser les barres latérales. Dans le fichier functions.php ajoutez :

if ( function_exists('register_sidebar') ) {
	register_sidebar(array(
		'name' => 'Droite - Accueil',
		'before_widget' => '<div id="%1$s" class="widgetContainer %2$s">',
		'after_widget' => '</div>',
		'before_title' => '<h3 class="widgetTitle">',
		'after_title' => '</h3>'
	));
	register_sidebar(array(
		'name' => 'Droite - Billet',
		'before_widget' => '<div id="%1$s" class="widgetContainer %2$s">',
		'after_widget' => '</div>',
		'before_title' => '<h3 class="widgetTitle">',
		'after_title' => '</h3>'
	));
	register_sidebar(array(
		'name' => 'Droite - Categorie',
		'before_widget' => '<div id="%1$s" class="widgetContainer %2$s">',
		'after_widget' => '</div>',
		'before_title' => '<h3 class="widgetTitle">',
		'after_title' => '</h3>'
	));
}

Vous verrez donc à ce moment les trois barres latérales apparaître dans le panneau d’administration, sous Apparence / Widgets.

Par la suite, il suffit d’inclure la bonne barre latérale dans le bon contexte. Pour ce faire, créez – si ce n’est pas déjà fait – un fichier sidebar.php contenant ceci :

if(is_home()) {
	//accueil
	if (function_exists('dynamic_sidebar')) dynamic_sidebar('Droite - Accueil');			
} elseif( is_category('nom-categorie') ) {
	//catégorie spécifique
	if (function_exists('dynamic_sidebar')) dynamic_sidebar('Droite - Categorie');
} elseif( is_single() ) {
	//dans un billet
	if (function_exists('dynamic_sidebar')) dynamic_sidebar('Droite - Billet');
}

Commentaires Facebook

3 Tweets

4 commentaires pour “Créer plusieurs barres latérales (sidebar) dans WordPress”

  • Bonjour

    Merci pour ce tuto qui m’a l’air très simple. J’ai modifié les fichiers comme indiqué et je vois bien les 3 barres latérales dans l’admin. Toutefois les sidebars n’apparaissent pas sur le site.

    Ou me suis-je trompé?

    En attendant votre réponse. Cdlt.

    Mohamed Azzeddine

    le code de ma sidebar.php:

    <?php wp_list_bookmarks('title_before=&title_after=&show_images=0′) ?>

  • Merci, c’est exactement ce que je recherchais à pouvoir faire.

    Est-il possible de créer un page template qui afficherait une sidebare spécifique ? Et si oui, aurait-tu la gentillesse de me donner le code :

    - qui permettrait d’appeler la sidebare de mon choix de puis le page template

    Je sais déjà comment créer un page template et grâce à cet article, je sais comment créer une sidebar vierge ;-) Il ne me manque donc plus que cet élément :-) Un grand merci

Ajouter un commentaire

Additional comments powered by BackType

Twitter @emilegirard

RSS Liens partagés

Mots-clefs

Ailleurs

Méta