如何根据ID获取已注册侧栏的名称?

时间:2016-04-21 作者:5ervant - techintel.github.io

假设我在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\' );
如何通过id获取侧栏名称,某种代码?

get_dynamic_sidebar_name( \'sidebar-2\' ); // -> Sidebar Name

1 个回复
最合适的回答,由SO网友:Sumit 整理而成

边栏存储在全局变量中$wp_registered_sidebars. 可以使用此变量获取侧栏属性。

global $wp_registered_sidebars;
if ( isset( $wp_registered_sidebars[\'sidebar-2\'] ) ) { 
    echo $wp_registered_sidebars[\'sidebar-2\'][\'name\'];
}
请注意,不要过早使用它,无论是在/之后widgets_init 挂钩或在模板文件中。