dynamic_sidebar no muestra la barra lateral

4

Tengo el siguiente código

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

Encuentro que la barra lateral estática es lo que se procesa incluso si agrego widgets en el panel de control. No estoy seguro de si WP3.2 lo provocó, ya que nunca intenté usar la barra lateral dinámica antes de actualizar

    
pregunta Jiew Meng 07.07.2011 - 16:48

1 respuesta

6

Debes agregar los parámetros name y id a tu matriz de argumentos register_sidebar() :

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

Como tales:

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

Luego, llama al id de la barra lateral en tu llamada dynamic_sidebar() :

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

}

Por cierto: no es necesario incluir un function_exists( 'dynamic_sidebar' ) ) condicional; esta funcionalidad ha estado en WordPress desde la versión 2.8.

    
respondido por el Chip Bennett 07.07.2011 - 17:07

Lea otras preguntas en las etiquetas