Возможно ли предустановить содержимое виджета через скрипт плагина?

16 дек. 2010 г., 00:43:10
Просмотры: 813
Голосов: 0

Этот плагин представляет собой простой тестовый пример, чтобы проверить, могу ли я динамически заполнить предсуществующую область виджетов текстом. В данном случае, моя тема создала область виджетов "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');
?>
0
Все ответы на вопрос 2
1

В вашем коде есть несколько ошибок:

  1. Вам нужно указать ID экземпляра вручную, например, 2. Если вы хотите добавить текстовый виджет, а не перезаписывать содержимое боковой панели, попробуйте использовать $id = count($opts)+1, или вы можете просто сгенерировать случайный ID.

  2. Используйте widget_ID_base-instance_ID в $sidebars_widgets[$sidebar_id] = "widget_text-".$id; и поместите это в массив:

    $sidebars_widgets[$sidebar_id] = array("text-".$id);

16 дек. 2010 г. 05:10:28
Комментарии

@OTP: Это сработало. Спасибо за помощь. Я обновил свой вопрос с исправленным кодом.

Scott B Scott B
13 мар. 2011 г. 04:58:12
0

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

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

Мне кажется, что эти темы о виджетах начинают дублироваться.

16 дек. 2010 г. 13:54:26