Listet alle Sidebar-Namen auf?

Ich listet alle Seitenleisten auf:

global $wp_registered_sidebars; echo '
'; print_r($wp_registered_sidebars); echo '

'

Also bekomme ich etwas wie:

 Array ( [sidebar-1] => Array ( [name] => Sidebar #1 [id] => sidebar-1 [description] => Sidebar number 1 [before_widget] => [after_widget] => [before_title] => [after_title] => ) (...) ) 

Aber ich würde sie gerne als Auswahlliste anzeigen, zum Beispiel:

  SIDEBAR-NAME/option> SIDEBAR-NAME/option> (...)  

WordPress Codex ist überhaupt nicht hilfreich.

Vielen Dank!

Solutions Collecting From Web of "Listet alle Sidebar-Namen auf?"

Schleife durch das globale:

  

Hinweis:
Die function ucwords() ist nur dazu da, sie genau so anzuzeigen, wie Sie gefragt haben. Nicht sicher, ob du das wirklich willst.


So greifen Sie auf globale Arrays und Objekte zu:

Wie auch immer: Deine Frage ist hauptsächlich, wie man auf Arrays zugreifen kann. Ich schrieb ein Q darüber (zur weiteren Erklärung). Bitte casting Sie einen Blick hierher.

Schreiben Sie eine function, um die Liste für Sie zu erstellen?

 function sidebar_selectbox( $name = '', $current_value = false ) { global $wp_registered_sidebars; if ( empty( $wp_registered_sidebars ) ) return; $name = empty( $name ) ? false : ' name="' . esc_attr( $name ) . '"'; $current = $current_value ? esc_attr( $current_value ) : false; $selected = ''; ?>  < ?php } 

Dann rufen Sie es einfach überall auf, wo Sie eine Auswahlliste mit den Seitenleisten erstellen und optional einen Namen eingeben müssen, z.

 sidebar_selectbox(); 

oder

 sidebar_selectbox( 'theme_sidebars' ); 

Zusätzlich und optional, übergeben Sie einen aktuell ausgewählten Wert ...

 sidebar_selectbox( 'theme_sidebars', $var_holding_current ); 

Ich hoffe, das hilft.