Как настроить виджет боковой панели с содержимым по умолчанию через скрипт?

Я хотел бы добавить некоторый код в свой плагин, заполнив конкретную боковую панель (если она существует) с текстовым виджетами, содержащим предустановленный контент.

Предполагая, что боковая панель, которую я пытаюсь установить, ссылается на идентификатор как «мой-виджет», как бы я предустановил содержимое этого виджета с помощью текстового виджета, содержащего текст «Hello World»?

Вам нужно сделать это в два этапа.

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

В верхней части моей головы это будет выглядеть примерно так:

$ops = get_option('widget_text'); // find an $id that works... $ops[$id] = array( 'title' => 'foo', 'text' => 'bar', // content? ); update_option('widget_text', $ops); 

Затем добавьте его на свою боковую панель (опять же, с головы):

 $sidebars_widgets = get_option('sidebars_widgets'); $sidebars_widgets[$sidebar_id][] = ["widget_text-$id"]; update_option('sidebars_widgets', $sidebars_widgets); 

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

Кроме того, если вам нужны обширные примеры манипуляций с боковой панелью (включая кучи ошибок, связанных с изменениями API, связанных с обновлениями WP), проверьте файл inc / upgrade.php моей темы:

http://www.semiologic.com/software/sem-reloaded/

Или мой плагин Subscribe Me:

http://www.semiologic.com/software/subscribe-me/