有时候在用wordpress时,为了需求会修改某些插件,这样在后台收到更新提示的时候,某些不知情的情况下会覆盖更新了修改过的插件,这样就比较囧了.
还好在网上找到了相应的代码可以解决这个问题,感谢那些走在wordpress之路上的巨人们!
代码如下:
//禁用某个插件更新
function filter_plugin_updates( $value ) {
unset( $value->response['watermark-reloaded/watermark-loader.php'] );
return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
还有更加流弊的禁用全部插件更新提示的代码:
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return;" ) );
感谢原作者:http://www.solagirl.net/disable-update-notification-for-individual-plugins.html
这类做法本质上是“把更新提醒拦在后台”,不是让插件真的停止更新。生猛大蝦编辑部建议:只在你明确知道自己改了哪些文件、且有备份的前提下使用。尤其是二次开发过的插件,最好把自定义逻辑拆到独立扩展里,减少未来升级冲突。若是生产站点,还要同步记录被屏蔽的插件清单,避免长期漏掉安全补丁。
怎么禁用某个WordPress插件更新提示?
在主题 functions.php 或自定义插件里,挂载 site_transient_update_plugins 过滤器,unset 掉对应插件的 response 项即可。这样后台就不会再提示该插件更新,适合你已经手工改过源码、暂时不想被覆盖的情况。
禁用单个插件更新会影响其他插件吗?
不会,只要只移除目标插件的更新项,其他插件的更新提示仍会正常显示。关键是插件路径要写对,否则可能误伤或失效。建议先确认插件目录名和主文件名,再做修改。
能不能把所有插件更新提示都关掉?
可以,原文给出的做法是使用 pre_site_transient_update_plugins 过滤器直接返回空值,从而屏蔽全部插件更新通知。但这会让你错过安全修复和功能更新,通常只建议在临时维护或特殊环境中使用。







发表回复