首页 文章

以编程方式将小部件添加到自定义Wordpress侧边栏

提问于
浏览
1

我正在使用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 语句确认数据库已更改,但我仍未在社交媒体更新侧栏中看到日历窗口小部件 .

我尝试使用相同的 get_option / update-option 技术,并在Twenty Eleven主题中内置了侧边栏,并且它有效,所以我知道了.2556255 . 有什么想法吗?

1 回答

相关问题