Intereting Posts
Как разрешить пользователю вводить пароль при регистрации Сохранить метаданные как временную метку, отобразить как «красивую» дату Почему media_sideload_image () не работает локально? Кодирование управляющего символа после использования автозаполнения jquery шаблон одной категории для нескольких категорий Как удалить анимированный значок Рекомендации по использованию пользовательских типов сообщений Использовать сообщение в нескольких местах на странице с несколькими сообщениями добавление пользовательского кода в качестве плагина wordpress Все мои вставленные изображения получают ссылку на полное изображение, даже если оно уже полноразмерное изображение Как обрезать изображение из центра с помощью wp_image_editor Woocommerce добавляет дополнительное поле к вариационному продукту Могу ли я создать новый тип комментариев? Капитальный ремонт виджета Задайте сообщение для черновика один раз в зависимости от значения посылки (прошедшего определенную дату)?

Получить конкретные боковые панели $ 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>";