我注册了一个侧栏(在functions.php
) 作为:
<?php
register_sidebar( array(
\'name\' => __(\'Activity Calendar\'),
\'id\' => \'activity_calendar_en\',
\'before_widget\' => \'\',
\'after_widget\' => \'\',
\'before_title\' => \'\',
\'after_title\' => \'\',
));
?>
在我的主题中,我称之为:
<?php
if( is_active_sidebar( \'activity_calendar_en\' ) ):
dynamic_sidebar( \'activity_calendar_en\' );
endif;
?>
现在我的问题是:如何打印提要栏名称(
Activity Calendar
在这种情况下)在主题中?是否有任何方法可以获取和打印提要栏名称(以及任何描述,如果可用)?
最合适的回答,由SO网友:Fayaz 整理而成
您可以使用$wp_registered_sidebars
全局变量。像这样:
global $wp_registered_sidebars;
if( is_active_sidebar( \'activity_calendar_en\' ) ):
esc_html_e( $wp_registered_sidebars[\'activity_calendar_en\'][\'name\'] );
dynamic_sidebar( \'activity_calendar_en\' );
endif;
如果您检查WordPress核心
is_registered_sidebar
函数,您将看到它也在使用此全局变量:
function is_registered_sidebar( $sidebar_id ) {
global $wp_registered_sidebars;
return isset( $wp_registered_sidebars[ $sidebar_id ] );
}
然而,据我所知,您无法使用任何函数检索它。
尽管如此,对于描述,有一个函数:wp_sidebar_description()
. 您也可以使用全局变量进行描述,也可以使用此函数:
if( is_active_sidebar( \'activity_calendar_en\' ) ):
echo wp_sidebar_description( \'activity_calendar_en\' );
dynamic_sidebar( \'activity_calendar_en\' );
endif;