我正在尝试禁用几个月前购买的插件的许可证通知。现在我的更新许可证不再有效,但我不想再收到任何更新了,因为我在插件中做了很多改动。这是消息:
我试过这样删除它:
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
function filter_plugin_updates( $value ) {
unset( $value->response['cred-frontend-editor/plugin.php'] );
return $value;
}
但是当我刷新页面时,通知仍然存在。我该如何删除它?
这取决于插件。但我会采取的步骤。
add_action( 'admin_notices', 'callback_notice function')
的变体remove_action
必须在add_action
之后运行,所以如果add_action在add_action('admin_init', ...,10)
(prio 10)内完成,你应该在add_action('admin_init', ...,11)
中运行remove动作
是的,这部分令人困惑。祝好运
编辑
鉴于您提供的代码,删除应该是:
add_action( 'init', function() {
remove_action( 'admin_notices', array( WP_Installer::instance(), 'setup_plugins_page_notices' ) );
remove_action( 'admin_notices', array( WP_Installer::instance(), 'setup_plugins_renew_warnings' ), 10 );
remove_action( 'admin_notices', array( WP_Installer::instance(), 'queue_plugins_renew_warnings' ), 20 );
}, 100);
add_actions在init
函数中运行。 init
函数挂钩,以及init
钩子,默认优先级(10)
所以我们在prio 11的init
钩子中运行了删除。
可能你不需要删除setup_plugins_page_notices
钩子。