このコードが "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
サイドバーはグローバル変数$wp_registered_sidebars
に格納されます。この変数を使ってサイドバーのプロパティを取得できます。
global $wp_registered_sidebars;
if ( isset( $wp_registered_sidebars['sidebar-2'] ) ) {
echo $wp_registered_sidebars['sidebar-2']['name'];
}
widgets_init
フックの前後やテンプレートファイルの中では、早めに使用しないでください。