Я работаю над плагином Wordpress. Я могу добавить в свой интерфейс три пользовательских виджета и динамическую боковую панель. Я пытаюсь настроить его, чтобы загрузить некоторые виджеты по умолчанию в боковую панель, если пользователь не настроил их.Программно добавление виджета в пользовательскую боковую панель Wordpress
function rs_sidebar_setup() {
// register sidebar
$rs_sidebar_opts = array(
'name' => __('Social Media Updates'),
'id' => 'social-updates',
'description' => __('Displays recent posts from social media sites'),
'before_widget' => '',
'after_widget' => ''
);
register_sidebar($rs_sidebar_opts);
}
add_action('widgets_init', 'rs_sidebar_setup');
if (!function_exists('rs_default_widgets')) :
function rs_default_widgets() {
// get active widgets from database
$widgets = get_option('sidebars_widgets');
//if(empty($widgets['social-updates'])) {
// add new widgets to our sidebar if the sidebar is empty
//$widgets['sidebar-social-updates'] = array('calendar-3', 'rapidsocialfacebookwidget-1', 'rapidsocialfwitterwidget-1', 'rapidsociallinkedinwidget-1');
$widgets['social-updates'] = array('calendar-3');
update_option('sidebars_widgets', $widgets);
//}
print_r(get_option('sidebars_widgets'));
}
add_action('widgets_init', 'rs_default_widgets', 11);
endif;
В случае, если это была проблема с моими пользовательскими виджетами, я попытался использовать встроенные виджеты - все равно ничего хорошего. Оператор print_r
подтверждает, что база данных изменена, но я до сих пор не вижу виджета календаря на боковой панели социальных обновлений.
Я пробовал использовать ту же самую технику/update-option
с боковой панелью, встроенной в тему Twenty Eleven, и это сработало, поэтому я думаю, что это может быть проблема с порядком загрузки, но я не знаю. Есть предположения?