游客您好
第三方账号登陆
Lv.9 管理员
1号会员,2592活跃度,2017/05/26 加入学习
  • 1394发帖
  • 426主题
  • 10关注
  • 4粉丝
这个人很懒,什么也没有留下。
最新推荐更多

[wordpress] 如何 完全禁用Wordpress的升级功能

[复制链接]
amecaton实名认证 QQ认证 发表于 2020-10-13 11:23:18 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
wordpress自己带有一个自动升级的功能,也就是说,如果wp检测到官方已经有新的升级可用的话他就会自己升级上去。这可能对于某些场合是个不错的功能,但是对于一些已经对系统大量魔改或者对插件稳定性不抱有特别大的信心的场合来说这有时无疑是致命的,对于一些 禁止文件写入或容器重启后文件全部丢失的容器 (比如openshift)来说,它的升级也几乎没有什么作用,也会对系统造成一些不稳定因素,所以说这种场合我们需要关闭Wordpress的自动升级来保证站点运行的稳定
如何关闭自动升级功能?

对于关闭自动升级的方案有很多方案可以选择,几经搜索我找到了一个 通过卸载相应hook 来达到目的的方法,代码如下

  1. define( 'AUTOMATIC_UPDATER_DISABLED', true ); //禁用自动更新  

  2. add_filter('pre_site_transient_update_core',    'fake_update_callback'); // 关闭核心提示  

  3. add_filter('pre_site_transient_update_plugins', 'fake_update_callback'); // 关闭插件提示  

  4. add_filter('pre_site_transient_update_themes',  'fake_update_callback'); // 关闭主题提示

  5. remove_action('admin_init', '_maybe_update_core');    // 禁止 WordPress 检查更新

  6. remove_action('admin_init', '_maybe_update_plugins'); // 禁止 WordPress 更新插件

  7. remove_action('admin_init', '_maybe_update_themes');  // 禁止 WordPress 更新主题
复制代码


按照那篇文章的说法,将这些加入你用的主题的 function.php 中即可达到目的,但是这样多多少少会略显不便。所以我写了一个插件来达到此目的

插件: wp-disable-update

这个插件需要在 wp-config.php 中设置常量 UPDATER_DISABLE 的值为 true 才可以动作 ,在这步可以在 wp-config.php 中加入逻辑来达到控制是否禁用的功能。比如我在里面加入了判断域名是否为测试环境的逻辑,这样就可以达到在测试环境中升级、在生产环境完全关掉升级的目的。




• 本内容来源互联网,如涉及版权问题请及时联系站长
• 为防止代码解析,除代码框内<>为正常,其余请重新替换<>尖括号

发布资源 快速回复 站点服务大厅 搜索 官方群