Intereting Posts
Добавление стилей CSS только в СТРАНИЦЫ ЗДАНИЙ (не POSTS или CPT) Изменить размер миниатюры сообщения создает ужасное качество изображения. Любая помощь? Какой плагин для архива работает с общим кэшем W3? get_term_children не возвращает массив дочерних терминов Возврат списка настраиваемых типов сообщений, за исключением тех, которые не имеют определенного значения meta_value Как удалить все неиспользуемые фотографии Функция Создание раскрывающегося списка пользовательских сообщений в метабоке Отображать следующие / Предыдущие при циклическом создании пользовательского архива пост-типа? Страница регистрации в области администратора Как загрузить шаблон без привязки к странице / сообщению? Как настроить область «Пользователи» для передачи клиенту? Как разместить меню в левой части страницы в WordPress 3.5 Отсутствует wp-load.php при новой установке Уменьшить ширину меню вниз в WordPress В чем разница между get_post_permalink и get_permalink?

Получить конкретные боковые панели $ wp_registered_sidebars

У меня есть следующие функции, как в этом pastebin в дочерней теме:

http://pastebin.com/uzjmXiyN

Эти функции создают раскрывающееся окно, в котором вы можете выбрать боковую панель для использования на определенной странице. Все хорошо работает после большого пота. Моя единственная проблема – это

$ wp_registered_sidebars

функции в следующем фрагменте кода

foreach($wp_registered_sidebars as $sidebar_id => $sidebar) { $output .= "<option"; if($sidebar_id == $val) $output .= " selected='selected'"; $output .= " value='".$sidebar_id."'>".$sidebar['name']."</option>"; } $output .= "</select>"; echo $output; 

В этой функции перечислены все доступные боковые панели темы, и этого я не хочу. Я хочу, чтобы в раскрывающемся списке отображались боковые панели в

$ dynamic_widget_areas

массив. Если я заменю

$ wp_registered_sidebars

с

$ dynamic_widget_areas

Я получаю следующие ошибки:

Примечание. Неопределенная переменная: dynamic_widget_area … и т. Д.

а также

Предупреждение: неверный аргумент для foreach () … и т. Д.

Каков правильный способ отображения только определенных боковых панелей.

Solutions Collecting From Web of "Получить конкретные боковые панели $ wp_registered_sidebars"

Это общий вопрос PHP. Вам нужно проверить, установлен ли ключ $sidebar_id в $dynamic_widget_areas при прохождении цикла. Это доказательство кода концепции должно дать вам эту идею.

 $dynamic_widget_areas = array( 'sidebar-1' => 'stuff', ); global $wp_registered_sidebars; $output = ''; foreach($wp_registered_sidebars as $sidebar_id => $sidebar) { $output .= "<option"; if(isset($dynamic_widget_areas[$sidebar_id])) { if($sidebar_id == $val) { $output .= " selected='selected'"; } $output .= " value='".$sidebar_id."'>".$sidebar['name']."</option>"; } } $output .= "</select>";