web-dev-qa-db-fra.com

Comment obtenir le nom de la barre latérale enregistrée par son identifiant?

Disons que j'ai ce code dans mon "functions.php" :

function mytheme_widgets_init() {
    register_sidebar( array(
        'name'          => esc_html__( 'Sidebar Name', 'mytheme' ),
        'id'            => 'sidebar-2',
        'description'   => '',
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget'  => '</aside>',
        'before_title'  => '<h2 class="widget-title">',
        'after_title'   => '</h2>',
    ) );
}
add_action( 'widgets_init', 'mytheme_widgets_init' );

Comment puis-je obtenir ce nom de barre latérale par son identifiant, une sorte de ce code?

get_dynamic_sidebar_name( 'sidebar-2' ); // -> Sidebar Name
3
5ervant

Les barres latérales sont stockées dans la variable globale $wp_registered_sidebars. Vous pouvez obtenir les propriétés de la barre latérale en utilisant cette variable.

global $wp_registered_sidebars;
if ( isset( $wp_registered_sidebars['sidebar-2'] ) ) { 
    echo $wp_registered_sidebars['sidebar-2']['name'];
}

Notez que ne l'utilisez pas trop tôt, ni sur/après le hook widgets_init, ni dans un fichier de modèle.

3
Sumit