Intereting Posts
Функция короткого кода – не может получить ничего другого, чтобы вернуться после запуска короткого кода в коротком коде Объект «raquo» был указан, но не был объявлен Добавление wp_list_categories в отдельный div, который был добавлен с помощью jQuery WooCommerce: Перевод потерян при вызове AJAX на странице Checkout Исключить только родительские сообщения post-type Невозможно отфильтровать категории по родительской категории Цикл Foreach возвращает более одного элемента при запросе таксономии Каков наилучший способ сохранить миниатюры для прикрепления без изображения? Не удается заставить работать на короткий код, Moz API обновление версии 2.8.5 до последней версии wordpress Удалять изображения из_сочетания Обновления WordPress 3.5.2 до 3.8 Любая проблема? Как проверить с is_page, если загружено 404.php? Как удалить плагин Hello Dolly автоматически? генерация po mo переводов файлов с нуля в WordPress темы

dynamic_sidebar () возвращает false в секции admin

Любая причина, по которой этот код не работает в разделе admin (особенно когда ajaxing, но проблема сохраняется на других страницах) WordPress, но работает просто отлично

ob_start(); dynamic_sidebar('frontpage_widgets'); $content = ob_get_clean(); print_r($content); // nothing 

боковые панели установлены из того, что я вижу (потому что я назвал свой код, который зарегистрировал боковые панели)

print_r($GLOBALS['wp_registered_sidebars'])

  Array ( [frontpage_widgets] => Array ( [name] => Frontpage Widgets [id] => frontpage_widgets [description] => Widgets for the Frontpage Widgetspage [class] => [before_widget] => ... 

Есть ли что-то, препятствующее отображению виджетов в разделе администратора?

Изменить – кажется, что виджеты не устанавливаются глобально: $ wp_registered_widgets пуст

Solutions Collecting From Web of "dynamic_sidebar () возвращает false в секции admin"

Да, вы должны обязательно подключить эту функцию в какой-то момент после регистрации боковых панелей. Это не совсем объяснено, но подразумевается в кодексе, что эта функция dynamic_sidebar( $index ) ожидает, что они будут зарегистрированы и загружены как зарегистрированные к моменту ее запуска. В противном случае он не будет иметь ничего, чтобы соответствовать аргументу $index , который в вашем случае является 'frontpage_widgets' .

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

Если бы мне пришлось угадать руку, я бы сказал, что wp_loaded() – это самое раннее действие, к wp_loaded() вы можете безопасно подключить его. Или, если вам нужно, вы можете подключиться к wp_register_sidebar_widget чтобы подключиться к конкретному виджету, который вы тестируете.

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

Попробуйте выйти из системы администратора, а затем просмотреть поведение кода. Иногда из-за сеанса входа в систему это поведение наблюдается. Если вы предоставите более подробную информацию по своему вопросу, может быть полезно дать лучший ответ.