wake-up-neo.com

dynamic_sidebar rendert keine Seitenleiste

Ich habe den folgenden Code

// in functions.php
register_sidebar(array(
    'before_widget' => '<section>',
    'after_widget' => '</section>',
    'before_title' => '<h3>',
    'after_title' => '</h3>',
));

// in sidebar.php
if (!function_exists('dynamic_sidebar') || !dynamic_sidebar()) : ?>
    // static sidebar here ..

Ich finde, dass die statische Seitenleiste auch dann angezeigt wird, wenn ich Widgets zum Dashboard hinzufüge. Ich bin nicht sicher, ob WP3.2 es verursacht hat, da ich vor dem Update nie versucht habe, eine dynamische Seitenleiste zu verwenden

4
Jiew Meng

Sie sollten die Parameter name und id zu Ihrem Argumentarray register_sidebar() hinzufügen:

'name'=>'Sidebar Name',
'id'=>'sidebar-slug',

Wie solche:

register_sidebar(array(
    'name'=>'Sidebar Name',
    'id'=>'sidebar-slug',
    'before_widget' => '<section>',
    'after_widget' => '</section>',
    'before_title' => '<h3>',
    'after_title' => '</h3>',
));

Rufen Sie dann die id der Seitenleiste in Ihrem dynamic_sidebar()-Aufruf auf:

if ( ! dynamic_sidebar( 'sidebar-slug' ) ) {

}

Übrigens: Sie müssen keine function_exists( 'dynamic_sidebar' ) )-Bedingung einfügen. Diese Funktionalität gibt es in WordPress seit Version 2.8.

6
Chip Bennett