dynamic_sidebar ne rend pas la barre latérale

4

J'ai le code suivant

// 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 ..

Je trouve que la barre latérale statique est ce qui est rendu même si j'ajoute des widgets dans le tableau de bord. Je ne suis pas sûr que WP3.2 l’ait causé car je n’ai jamais essayé d’utiliser la barre latérale dynamique avant la mise à jour

    
posée Jiew Meng 07.07.2011 - 16:48

1 réponse

6

Vous devez ajouter les paramètres name et id à votre tableau d'arguments register_sidebar() :

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

Comme tel:

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

Appelez ensuite le id de la barre latérale de votre appel dynamic_sidebar() :

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

}

Au fait: vous n'avez pas besoin d'inclure un function_exists( 'dynamic_sidebar' ) ) conditionnel; cette fonctionnalité est disponible dans WordPress depuis la version 2.8.

    
réponse donnée Chip Bennett 07.07.2011 - 17:07

Lire d'autres questions sur les étiquettes