Magazine Internet

WordPress : vĂŠrifier si une sidebar a des widgets

Publié le 15 mai 2013 par Acs04

Pour afficher une sidebar dans un thème WordPress il faut d’abord enregistrer (register_sidebar()) la barre latérale afin de pouvoir ensuite lui assigner un ou plusieurs widgets.

Quand vous avez assigné des widgets à une sidebar il faut un peu de code dans les sources de votre thème pour les afficher sur votre site web.

Pour afficher une barre latérale dans un thème WordPress il faut utiliser la fonction dynamic_sidebar().

Il existe des situations dans lesquelles on peut souhaiter vérifier qu’une sidebar a des widgets avant de décider s’il convient ou non de l’afficher.

Le code qui suit utilise la fonction is_active_sidebar() pour vérifier quelles sidebars ont des widgets de sorte que l’on peut ensuite décider du modèle de mise en page à utiliser.

La fonction is_active_sidebar() prend en paramètre l’identifiant de la sidebar que l’on veut traiter. Elle retourne une valeur booléenne indiquant si la sidebar a des widgets (true) ou pas (false).

function display_sidebars() { if(!is_active_sidebar( 'sidebar-1' ) & !is_active_sidebar( 'sidebar-2' )) { return false; } if(is_active_sidebar( 'sidebar-1' ) & !is_active_sidebar( 'sidebar-2' ) || !is_active_sidebar( 'sidebar-1' ) & is_active_sidebar( 'sidebar-2' ) ) { $gridCss = 'col-full'; } elseif(is_active_sidebar( 'sidebar-1' ) & is_active_sidebar( 'sidebar-2' )) { $gridCss = 'col-half'; } if(is_active_sidebar( 'sidebar-1' )) { ?> <div class="<?php echo $gridCss; ?>"> <?php dynamic_sidebar( 'sidebar-1' ); ?> </div> <?php } if(is_active_sidebar( 'sidebar-2' )) { ?> <div class="<?php echo $gridCss; ?>"> <?php dynamic_sidebar( 'sidebar-2' ); ?> </div> <?php } }

1234567891011121314151617181920212223242526272829 functiondisplay_sidebars(){   if(!is_active_sidebar('sidebar-1')&!is_active_sidebar('sidebar-2'))   {  returnfalse;   }   if(is_active_sidebar('sidebar-1')&!is_active_sidebar('sidebar-2')||!is_active_sidebar('sidebar-1')&is_active_sidebar('sidebar-2'))   {  $gridCss='col-full';   }elseif(is_active_sidebar('sidebar-1')&is_active_sidebar('sidebar-2')){  $gridCss='col-half';   }   if(is_active_sidebar('sidebar-1'))   {  ?><div class="<?phpecho$gridCss;?>">  <?phpdynamic_sidebar('sidebar-1');?>   </div>  <?php   }   if(is_active_sidebar('sidebar-2'))   {  ?><div class="<?phpecho$gridCss;?>">  <?phpdynamic_sidebar('sidebar-2');?>   </div>  <?php   }}


Retour à La Une de Logo Paperblog

A propos de l’auteur


Acs04 542 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazine