Возможно ли предустановить содержимое виджета через скрипт плагина?
Этот плагин представляет собой простой тестовый пример, чтобы проверить, могу ли я динамически заполнить предсуществующую область виджетов текстом. В данном случае, моя тема создала область виджетов "home-header-widget", и я пытаюсь заполнить её содержимым 'text' ниже. Я застрял на строке...
$sidebars_widgets[$sidebar_id] = "widget_text-".$id;
Проблема в том, что я не уверен, как получить ссылку на динамически созданный текстовый виджет, чтобы предустановить его содержимое и разместить его внутри моего 'home-header-widget'...
<?php
/*
Название плагина: Тест виджета
*/
function cb_activate_widgettest(){
$sidebar_id = 'home-header-widget';
$sidebars_widgets = get_option('sidebars_widgets');
$id = count($opts)+1;
$sidebars_widgets[$sidebar_id] = array("text-".$id);
$ops = get_option('widget_text');
// найти рабочий $id...
$ops[$id] = array(
'title' => 'foo hoo',
'text' => 'bar mitz', // содержимое?
);
update_option('widget_text', $ops);
update_option('sidebars_widgets', $sidebars_widgets);
}
register_activation_hook(__FILE__, 'cb_activate_widgettest');
?>

В вашем коде есть несколько ошибок:
Вам нужно указать ID экземпляра вручную, например, 2. Если вы хотите добавить текстовый виджет, а не перезаписывать содержимое боковой панели, попробуйте использовать
$id = count($opts)+1
, или вы можете просто сгенерировать случайный ID.Используйте widget_ID_base-instance_ID в
$sidebars_widgets[$sidebar_id] = "widget_text-".$id;
и поместите это в массив:$sidebars_widgets[$sidebar_id] = array("text-".$id);

Как предустановить содержимое виджета боковой панели по умолчанию с помощью скрипта?
Как добавить несколько копий виджета из "доступных виджетов"
https://wordpress.stackexchange.com/questions/5282/code-to-dynamically-populate-a-widget-with-preset-content
Это ваша четвертая тема по настройке виджетов, разве этот вопрос нельзя было осветить в рамках других ваших тем о виджетах?
Мне кажется, что эти темы о виджетах начинают дублироваться.
