2016-01-20 66 views
4

我无法找到如何禁用站点创建时的默认小部件。我的意思是,当我在Wordpress多站点网络中创建网站时,它不会自动创建侧栏小部件,例如“meta”。Wordpress多站点禁用站点创建的所有默认小部件

我看到两年多没有更新的插件可以帮助我,但我不想下载任何旧的东西。

有谁知道如何做到这一点?

回答

-1

我相信unregister_widget是你在找什么。

+0

http://wordpress.stackexchange.com/questions/5552/how-to-hide-or-remove-unwanted-widgets-on-multisite-installation –

+0

我其实不想摆脱该小部件完全...我只是不希望小部件出现在侧边栏默认情况下,当一个网站被创建。有什么想法吗? – CaitlinHavener

0

默认窗口小部件通过调用update_option()wp_install_defaults()wp-admin/includes/upgrade.php中创建。

wp_install_defaults()已被wpmu_create_blog()调用wp-includes/ms-functions.php后,动作wpmu_new_blog被触发。

因此,您可以挂钩到wpmu_new_blog并通过再次呼叫update_option()删除默认小部件,这次使用空数组sidebar-1

add_action('wpmu_new_blog', function($blog_id){ 
    switch_to_blog($blog_id); 
    update_option('sidebars_widgets', 
     ['wp_inactive_widgets' => [], 'sidebar-1' => [], 'sidebar-2' => [], 
     'sidebar-3' => [], 'array_version' => 3]); 
    restore_current_blog(); 
});