2013-02-12 4 views
1

Я работаю над плагином 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, и это сработало, поэтому я думаю, что это может быть проблема с порядком загрузки, но я не знаю. Есть предположения?

ответ

Смежные вопросы