web-dev-qa-db-fra.com

comment puis-je obtenir l'ID ou le numéro d'une barre latérale pour accéder avec is_active_sidebar ()

Du codex

is_active_sidebar( $index ); ?> 
Parameters

$index
    (mixed) (required) Sidebar name, id or number. 

Quand j'essaye n'importe lequel de mes noms de sidebar cela ne fonctionne pas; Pourtant, lorsque je mets au hasard des nombres 1, 2 et 3, je devine que mes barres latérales sont numérotées de cette façon et que cela fonctionne, mais ce n'est pas fiable. Il y a un problème de trac à ce sujet et je soupçonne qu’il peut y avoir un problème avec la fonction en ce moment (et aussi l’exemple de vingten du codex semble utiliser un slug pas un nom) donc ce que je veux, c'est un moyen d'obtenir le nom ou le numéro du nom de la barre latérale, car wordpress le comprend.

EDIT (c'est le code que j'ai utilisé pour enregistrer la barre latérale - j'ai fini par ajouter la ligne 'id' => 'barre latérale droite', après 'nom' => etc à obtenir la solution décrite ci-dessous dans le commentaire)

if ( function_exists('register_sidebar') )
register_sidebar(array(
'name' => 'Right Sidebar',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h4>',
'after_title' => '</h4>',
));
1
byronyasgur

Trouvé une solution au problème. J'ai ajouté une ligne de code id => 'my-sidebar-id' au tableau register_sidebar, donc je connais maintenant l'ID de la barre latérale. Il y a peut-être une autre façon de le faire, mais cette méthode semble bien fonctionner pour moi maintenant, de toute façon.

if ( function_exists('register_sidebar') )
register_sidebar(array(
'name' => 'Right Sidebar',
'id' => 'right-sidebar',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h4>',
'after_title' => '</h4>',
));
3
byronyasgur

Directement depuis le docBlock php:

@param mixed $index Sidebar name, id or number to check

Difficile de dire quoi que ce soit si je ne vois pas le code que vous avez utilisé pour enregistrer votre barre latérale.

0
kaiser