it-swarm.com.ru

Как получить имя зарегистрированной боковой панели по ее идентификатору?

Допустим, у меня есть этот код в моем "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' );

Как я могу получить это название боковой панели по его идентификатору, какой-то код?

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

Боковые панели хранятся в глобальной переменной $wp_registered_sidebars. Вы можете получить свойства боковой панели, используя эту переменную.

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

Обратите внимание, что не используйте его слишком рано, ни в/после ловушки widgets_init, ни в файле шаблона.

3
Sumit