J'utilise les éléments suivants pour enregistrer une zone de widget:
if ( function_exists('register_sidebar') )
register_sidebar( array(
'name' => __( 'Footer Widgets', 'hex'),
'id' => 'footer-widgets',
'class' => 'footer-widgets',
'description' => __( 'Widgets will appear in the blog, between the end of content and footer', 'hex' ),
'before_widget' => '<li class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>'
) );
Et id
et class
sont ignorés, ce que je reçois ne sont que les widgets eux-mêmes - l'élément supérieur de la zone des widgets est le <li>
Je sais que je peux simplement l'envelopper dans le index.php
, où les widgets sont affichés, avec un div, mais n'est-ce pas supposé le faire?
Le paramètre id dans register_sidebar n'est pas directement lié à la sortie HTML. Il est utilisé pour identifier chaque barre latérale lors de la construction de $ widget_object.
La classe devrait être ajoutée au balisage before_widget.
http://core.trac.wordpress.org/browser/tags/3.4.1/wp-includes/widgets.php#L1128 est l'endroit où la classe est analysée.