Ich habe eine Sidebar registriert (in functions.php
) als:
<?php
register_sidebar( array(
'name' => __('Activity Calendar'),
'id' => 'activity_calendar_en',
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
));
?>
In meinem Thema nenne ich es wie folgt:
<?php
if( is_active_sidebar( 'activity_calendar_en' ) ):
dynamic_sidebar( 'activity_calendar_en' );
endif;
?>
Jetzt lautet meine Frage: Wie wird der Name der Seitenleiste (in diesem Fall Activity Calendar
) im Design gedruckt? Gibt es eine Möglichkeit, den Namen der Seitenleiste abzurufen und auszudrucken (sowie eine Beschreibung, falls verfügbar)?
Sie können die globale Variable $wp_registered_sidebars
verwenden. So was:
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;
Wenn Sie den WordPress-Core auf is_registered_sidebar
prüfen, werden Sie feststellen, dass auch diese globale Variable verwendet wird:
function is_registered_sidebar( $sidebar_id ) {
global $wp_registered_sidebars;
return isset( $wp_registered_sidebars[ $sidebar_id ] );
}
Soweit ich weiß, können Sie es jedoch nicht mit einer Funktion abrufen.
Zur Beschreibung gibt es jedoch eine Funktion: wp_sidebar_description()
. Sie können auch die globale Variable für die Beschreibung oder diese Funktion verwenden:
if( is_active_sidebar( 'activity_calendar_en' ) ):
echo wp_sidebar_description( 'activity_calendar_en' );
dynamic_sidebar( 'activity_calendar_en' );
endif;