搜索全站
常规配置 7 分钟阅读

如何关闭 WordPress 自动更新和后台更新提示

不想站点在半夜自动升级出意外、又嫌后台更新提示太烦?本文用 wp-config.php 常量和 functions.php 过滤器,教你关闭 WordPress 核心、插件、主题的自动更新并隐藏后台更新提示,把版本稳稳锁住,避免升级翻车,安心运营站点。

U
UFO_PF 2026-10-10 · 阅读 7 分钟
如何 常规配置
阅读提示
本文约 2,430 字,预计阅读 7 分钟。文中命令与配置均经过实测,可直接参考执行。

引言

WordPress 从 3.7 版本开始默认开启小版本自动更新,插件、主题也常被设置为自动升级,本意是及时修补安全漏洞,但对不少站长来说却可能带来麻烦:升级选在凌晨进行,第二天发现主题错位、插件冲突、页面白屏,甚至要回滚数据。尤其是那些主题改过源码、插件锁定过版本的站点,自动更新反而成了风险源。也有的站长只是单纯不想后台一天到晚弹出「有可用更新」的红色提示,看着心烦。这两件事其实是两个不同的开关,很多人混为一谈,结果改了半天没效果。下面分别讲清楚它们的区别和具体关法,让你能按需选择。

故障原因分析

  1. 核心自动更新默认开启。WordPress 会静默升级小版本(如 6.4 到 6.4.1),这是系统行为,很多人没意识到它一直在后台跑。
  2. 插件和主题的自动更新被单独开启。可以在插件列表里对单个插件打开自动更新,也可能被主题框架默认打开。
  3. 「关闭更新」和「关闭更新提示」是两码事。前者阻止升级,后者只是隐藏通知,很多人只做了后者却以为更新停了。
  4. 主机商可能强制自动更新。部分托管 WordPress 主机会在服务器层强制升级,配置文件里关不干净。
  5. 翻译文件也会自动更新。语言包更新同样会触发请求和提示,需要对症关闭。
  6. 多个插件都在管理更新设置,彼此冲突,导致关不彻底。

分步解决方案

方法一:用 wp-config.php 常量关闭核心自动更新。 编辑网站根目录的 wp-config.php,在 / That's all, stop editing! / 之前加入:

// 完全禁用自动更新器
define('AUTOMATIC_UPDATER_DISABLED', true);
// 明确禁止核心自动更新,false 表示全部禁止
define('WP_AUTO_UPDATE_CORE', false);

保存后生效。WP_AUTO_UPDATE_CORE 设为 false 表示核心一概不自动更新;设为 true 则允许所有级别更新;设为 'minor' 只允许安全小版本更新。多数想「锁版本」的站长应设成 false。

方法二:用 functions.php 过滤器精细控制。 想分别控制核心、插件、主题时,在主题 functions.php 里加入:

// 关闭各类自动更新
add_filter('auto_update_core', '__return_false');
add_filter('auto_update_plugin', '__return_false');
add_filter('auto_update_theme', '__return_false');
add_filter('auto_update_translation', '__return_false');

这些过滤器可以对单类项目生效,比如只想关闭主题自动更新而保留插件更新,就删掉对应的一行。建议放在子主题的 functions.php 里,避免主题更新后被覆盖丢失。

方法三:隐藏后台更新提示(隐藏通知,不等于关闭更新)。 如果只是不想看到提示,但仍希望手动掌握更新节奏,可以隐藏提醒:

// 移除核心更新提示
add_action('admin_menu', function () {
    remove_action('admin_notices', 'update_nag', 3);
});

// 屏蔽插件和主题更新计数(谨慎使用)
add_filter('pre_site_transient_update_core', '__return_null');
add_filter('pre_site_transient_update_plugins', '__return_null');
add_filter('pre_site_transient_update_themes', '__return_null');

需要说明的是,后面的 transient 过滤器在屏蔽提示的同时也会阻断更新检查,等于「眼不见心不烦」,属于较强硬的做法;只想隐藏红点的话,保留第一段即可。

方法四:检查主机层面的强制更新。 部分托管型主机会忽略你配置文件里的设置强制升级。遇到这种情况,需要联系主机商确认,或改用可自主控制版本的主机方案。

验证:改完如何确认生效。 保存配置后,进入「仪表盘 → 更新」页面,若不再自动跳转升级、且几天后核心版本号没有自行变化,说明核心自动更新已经关闭。插件和主题可以到各自列表里查看,被锁定的项目不会再悄悄升级。观察一段时间仍有异动,就要回头检查是不是某个插件在管理更新设置,或者主机在服务器层动了手。

常见踩坑点

  1. 以为关掉了更新提示就等于关掉了自动更新,其实只是把通知藏起来了。
  2. 把 WP_AUTO_UPDATE_CORE 的值写成了字符串 'false',导致判断异常。
  3. 代码加在主题 functions.php 后,主题一更新就被冲掉,应写进子主题。
  4. 关闭核心更新后长期不手动升级,埋下安全漏洞隐患。
  5. 只关了核心,忘了插件和主题的自动更新,某个插件仍会自己升级。
  6. 多个插件都在管理更新设置,彼此冲突,最好统一用一处控制。
  7. 误用 transient 过滤器,导致安全更新也不提醒,站长得不到任何告警。

总结

关闭自动更新和隐藏更新提示是两套不同的操作:想真正阻止升级,用 wp-config.php 的 AUTOMATIC_UPDATER_DISABLED、WP_AUTO_UPDATE_CORE 常量,或在子主题 functions.php 里用 auto_update_* 过滤器;想清静一点只是不看红点,则用移除 update_nag 通知的方式。关闭 WordPress 自动更新能避免升级带来的意外,但也要提醒自己定期手动备份、择机升级,别让站点长期停在旧版本上,安全补丁该打还是要打。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。