我找不到如何在网站创建时禁用默认小部件。我的意思是,当我在 Wordpress 多站点网络中创建站点时,它不会自动创建侧边栏小部件,例如"元"。
我看到两年多没有更新的插件可能会帮助我解决这个问题,但我不想下载那么旧的东西。
有谁知道如何做到这一点?
默认小部件是通过在wp-admin/includes/upgrade.php
中调用update_option()
wp_install_defaults()
创建的。
在wp-includes/ms-functions.php
wpmu_create_blog()
调用wp_install_defaults()
后,动作wpmu_new_blog
被触发。
因此,您可以通过再次调用 update_option()
来挂接到 wpmu_new_blog
并删除默认小部件,这次使用空数组进行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();
});
我相信unregister_widget就是你要找的。