Intereting Posts
Понимание того, как ссылки будут работать, когда DNS изменится, чтобы указать на новый сайт WordPress Какие действия влияют на файлы, DB или оба? Разделить the_title Отфильтруйте по одному идентификатору поля, по его диапазону значений, CMB2 Страновые специальные шлюзы и валюта с WooCommerce Пользовательская разбивка на страницы для пользовательских типов сообщений (по именам) Отображать уведомления об обновлении, такие как «Что нового» Как изменить структуру URL-адресов для постраничных страниц? Общий хостинг, несколько сайтов, не может войти в WP из-за перенаправления .htaccess Использование _GET дает мне ошибку отладки (над моей головой) Как я могу установить таксономию программно Ajax для подсеванов не работает Импорт сообщений с старого веб-сайта в новый конфликтный идентификатор сообщения? Как я могу условно показать разные шаблоны домашних страниц на основе того, зарегистрирован ли пользователь? Как подключиться к быстрому действию редактирования?

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