Intereting Posts
Плагин для создания форм с использованием HTML Как разместить ссылку Подробнее после публикации выдержки? WordPress с «некоторой» интернационализацией – лучшие варианты? Как защитить файлы медиафайлов (PDF)? Пользовательский файл archive.php: получить правильные категории сообщений? Константа для обновления «barebones» WordPress Пользовательские меню Описание Отключение HTML-тегов Как отлаживать «У вас недостаточно прав для доступа к этой странице»? Добавить кнопку самозакрывающегося короткого кода в TinyMCE в WP 4.6 Меню на мобильной версии не сбрасывается после выбора пункта меню switch_to_blog (): загрузить textdomain Исключить сообщения из виджета, пока сообщение отображается на домашнем, одноместном и категориях Как добавить Bootstrap и LESS на мой перенесенный сайт WordPress? Автоматический srcset для жестких размеров изображений? Сохранять формат HTML при переключении с редактора Visual HTML

Как получить настройки администратора для виджета при использовании the_widget () с пользовательским виджетами

Я искал для ответа на этот вопрос, и я нашел следующее: Ручное отображение виджета, которое дало мне решение:

if(function_exists('the_widget')) { $instance = get_option( 'widget_backspikewidget' ); the_widget('BackSpikeWidget', $instance[2]); } 

Что работает. Но, как указывает @greatwitenorth в его ответе, он включает в себя вопрос, что, если ключ массива изменит это решение, ломается.

Так кто-нибудь знает более безопасный способ вытащить настройки виджета, установленные в панели администратора при использовании the_widget?

EDIT: Поэтому я не уверен, что я был достаточно ясен в своем вопросе. Вот что я делаю. Я создаю плагин с виджетами. Плагин будет использоваться на нескольких сайтах. У каждого пользователя есть множество параметров, которые они могут установить для виджета в панели управления администратора. Затем я хочу убедиться, что виджет с выбранными пользователями параметрами всегда присутствует на странице, которая также создается плагином. Таким образом, я жестко закодировал виджет на странице с помощью the_widget (), и я взял параметры, заданные пользователем, чтобы настроить экземпляр виджета в соответствии с той же конфигурацией, которую виджет будет иметь, если они установят виджет в другом месте на сайте. В любом случае пользователь может сломать это без деактивации или удаления плагина? Еще раз спасибо!

Solutions Collecting From Web of "Как получить настройки администратора для виджета при использовании the_widget () с пользовательским виджетами"

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

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

 $instance = get_option( 'widget_text' ); foreach ($instance as $k => $v) { if ('hi there' == $v['title']) { the_widget('WP_Widget_Text',$instance[$k]); } }