it-swarm.com.de

register_sidebar ignoriert 'id' und 'class'

Ich benutze Folgendes, um einen Widget-Bereich zu registrieren:

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>'
) );

Und sowohl id als auch class werden ignoriert. Ich erhalte nur die Widgets selbst. Das oberste Element im Widget-Bereich ist der <li>.

Ich weiß, dass ich es einfach in den index.php einwickeln kann, in dem die Widgets angezeigt werden, mit einem div, aber soll das nicht so sein?

4
ilyo

Der id-Parameter in register_sidebar steht nicht in direktem Zusammenhang mit der HTML-Ausgabe. Es wird verwendet, um jede Seitenleiste zu identifizieren, wenn das $ widget_object erstellt wird.

Die Klasse sollte zum before_widget-Markup hinzugefügt werden.

http://core.trac.wordpress.org/browser/tags/3.4.1/wp-includes/widgets.php#L1128 Hier wird die Klasse analysiert.

7
Chris_O