Intereting Posts
Как заказывать сообщения по meta_value и заголовку Как ограничить WP_Query одним результатом в цикле? Запрос между датами с использованием фильтров выбора даты в WordPress 4.2.1 Поле повторителя Acf Pro возвращает значение null при вызове внутри foreach Как установить видимые столбцы по умолчанию в списке сообщений, для всех пользователей Как запретить пользователю обновлять дату публикации Как получить прикрепленное изображение к таксономии ..? как удалить титульный заголовок Категории по умолчанию Почему изображения отображаются только в оригинальном размере, а не в обычном размере? Как настроить WordPress Multisite в своем собственном каталоге? Как создать страницу галереи с категориями? Скомпилируйте мета значения из настраиваемого цикла в массив и затем вычислите общую сумму Можете ли вы изменить основной заголовок страницы в администраторе WordPress (без буферизации вывода или JavaScript)? Переместить wp-контент вне корневого каталога Страница архива для персонализированного типа сообщения с использованием WPML

Список всех имен боковой панели?

Я перечисляю все такие боковые панели:

global $wp_registered_sidebars; echo '<pre>'; print_r($wp_registered_sidebars); echo '</pre>' 

Поэтому я получаю что-то вроде:

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

Но я бы хотел отобразить их в виде списка, например:

 <select> <option value ="SIDEBAR-ID">SIDEBAR-NAME/option> <option value ="SIDEBAR-ID">SIDEBAR-NAME/option> (...) </select> 

WordPress Codex вообще не помогает.

Спасибо!

Solutions Collecting From Web of "Список всех имен боковой панели?"

Цикл через глобальный:

 <select> <?php foreach ( $GLOBALS['wp_registered_sidebars'] as $sidebar ) { ?> <option value="<?php echo ucwords( $sidebar['id'] ); ?>"> <?php echo ucwords( $sidebar['name'] ); ?> </option> <?php } ?> </select> 

Заметка:
Функция ucwords() только для отображения ее точно так же, как вы просили. Не уверен, что вы действительно этого хотите.


Как получить доступ к глобальным массивам и объектам:

Во всяком случае: ваш Q в основном касается доступа к массивам. Я написал об этом (для дальнейшего объяснения). Пожалуйста, взгляните сюда.

Напишите функцию для создания списка для вас?

 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 = ''; ?> <select<?php echo $name; ?>> <?php foreach ( $wp_registered_sidebars as $sidebar ) : ?> <?php if ( $current ) $selected = selected( $current === $sidebar['id'], true, false ); ?> <option value="<?php echo $sidebar['id']; ?>"<?php echo $selected; ?>><?php echo $sidebar['name']; ?></option> <?php endforeach; ?> </select> <?php } 

Затем просто вызовите его везде, где вам нужно создать список выбора с боковыми панелями, необязательно пропуская имя, например.

 sidebar_selectbox(); 

или

 sidebar_selectbox( 'theme_sidebars' ); 

Дополнительно и, необязательно, передать текущее выбранное значение …

 sidebar_selectbox( 'theme_sidebars', $var_holding_current ); 

Надеюсь, это поможет.