从主题中注销WordPress插件小部件

从主题中注销WordPress插件小部件,wordpress,widget,Wordpress,Widget,关于WordPress主题的问题-插件交互。 我可以注销插件使用theme functions.php文件添加的小部件吗? 尝试使用示例代码注销它,但对我无效: function remove_some_widget() { unregister_widget('some_plugin_widget'); } add_action( 'widgets_init', 'remove_some_widget' ); 要传入unregister\u widget函数的参数是扩展的类的名称,

关于WordPress主题的问题-插件交互。 我可以注销插件使用theme functions.php文件添加的小部件吗? 尝试使用示例代码注销它,但对我无效:

function remove_some_widget() {
    unregister_widget('some_plugin_widget');
}

add_action( 'widgets_init', 'remove_some_widget' );

要传入
unregister\u widget
函数的参数是扩展的类的名称,因此,请传递适当的类名。下面是一个取消注册所有小部件的示例

 function unregister_default_widgets() {
     unregister_widget('WP_Widget_Pages');
     unregister_widget('WP_Widget_Calendar');
     unregister_widget('WP_Widget_Archives');
     unregister_widget('WP_Widget_Links');
     unregister_widget('WP_Widget_Meta');
     unregister_widget('WP_Widget_Search');
     unregister_widget('WP_Widget_Text');
     unregister_widget('WP_Widget_Categories');
     unregister_widget('WP_Widget_Recent_Posts');
     unregister_widget('WP_Widget_Recent_Comments');
     unregister_widget('WP_Widget_RSS');
     unregister_widget('WP_Widget_Tag_Cloud');
     unregister_widget('WP_Nav_Menu_Widget');
     unregister_widget('Twenty_Eleven_Ephemera_Widget');
 }
 add_action('widgets_init', 'unregister_default_widgets', 11);

你在一些插件里放了什么?不知什么原因,这对我不起作用…插件和平常一样。我今晚头疼了一会儿。最终我发现将优先级设置为100或更多会导致不删除小部件。这是Wordpress触发
WP\u Widget\u Factory->\u register\u widgets
时的优先级。不确定原因/方式/是否是bug,但要让它工作,只需确保您的
add\u操作
优先级为