在WordPress中禁用自动更新邮件通知,最直接有效的方法是通过代码片段修改主题函数文件或创建专用插件,利用auto_plugin_update_send_email等钩子拦截系统默认行为,从而彻底停止接收各类更新提醒。
许多WordPress站长在后台收到密密麻麻的更新邮件时,第一反应往往是焦虑,这些邮件通常包含核心程序、插件或主题的更新通知,虽然初衷是提醒安全,但对于拥有多个站点或偏好手动管理维护的站长来说,这种高频打扰不仅消耗精力,还容易掩盖真正重要的安全警报,业内专家指出,过度依赖自动通知会导致“通知疲劳”,进而忽略关键的安全补丁,掌握精准屏蔽这些邮件的技巧,是提升网站管理效率的关键一步。
理解WordPress自动更新机制与邮件触发逻辑
要解决问题,首先得知道问题出在哪里,WordPress的自动更新系统非常智能,它会在后台检查核心代码、插件和主题的更新,一旦检测到新版本,系统默认会执行两项操作:一是尝试自动更新(取决于配置),二是发送电子邮件通知站长。
邮件通知的具体触发场景
我们需要明确哪些情况会发送邮件,才能对症下药,以下三种场景会触发邮件:
- 核心程序更新:WordPress主版本或安全补丁发布时。
- 插件更新:已安装的插件有新版本可用时。
- 主题更新:当前使用的主题有新版本时。
这些邮件默认发送给站点管理员邮箱(Admin Email),如果你有多人协作,或者使用了特定的SMTP插件,邮件发送路径可能会更复杂,但触发源头依然是WordPress的核心逻辑。
通过代码禁用自动更新邮件的实操方案
这是最推荐的方法,因为它轻量、稳定,且不依赖第三方插件,你可以通过修改functions.php文件或创建自定义插件来实现。
修改主题函数文件
这是最快速的临时解决方案,请按照以下路径操作:
- 登录WordPress后台,进入外观 > 主题文件编辑器。
- 在右侧文件列表中找到主题函数 (functions.php)。
- 在文件末尾添加以下代码片段。
// 禁用插件更新邮件通知 add_filter( 'auto_plugin_update_send_email', '__return_false' ); // 禁用主题更新邮件通知 add_filter( 'auto_theme_update_send_email', '__return_false' ); // 禁用核心程序更新邮件通知 add_filter( 'auto_core_update_send_email', '__return_false' );

这段代码利用了WordPress的过滤器钩子,将发送开关强制设为false,保存后,系统将不再发送任何自动更新邮件,需要注意的是,修改主题文件后,如果更换主题,这些设置会丢失,因此建议将此代码移至子主题或专用插件中。
创建专用插件(推荐长期使用)
为了避免主题更换导致配置失效,创建一个简单的自定义插件是更专业的做法。
- 在本地电脑创建一个文件夹,命名为`disable-update-emails`。
- 在文件夹内创建一个PHP文件,命名为`disable-update-emails.php`。
- 写入以下头部信息和核心代码:
<?php / Plugin Name: Disable Update Emails Description: 禁用WordPress所有自动更新的邮件通知 Version: 1.0 Author: Your Name / // 禁用插件更新邮件 add_filter( 'auto_plugin_update_send_email', '__return_false' ); // 禁用主题更新邮件 add_filter( 'auto_theme_update_send_email', '__return_false' ); // 禁用核心更新邮件 add_filter( 'auto_core_update_send_email', '__return_false' );
将文件夹打包成ZIP,上传至WordPress后台的插件 > 安装插件页面,启用即可,这种方法的优势在于,无论你怎么更换主题,邮件屏蔽功能始终存在。
进阶设置:选择性屏蔽与SMTP配置优化
有些站长可能希望保留安全更新的邮件,而屏蔽常规的插件更新,或者,他们发现即使屏蔽了默认邮件,某些SMTP插件仍然会发送测试邮件,这时,需要更精细的控制。
利用WP Mail SMTP插件进行精细化控制
如果你使用了WP Mail SMTP等插件来优化邮件发送,可以在插件设置中找到“邮件日志”或“通知”选项。
- 关闭调试邮件:许多SMTP插件默认开启“每次发送失败时发送调试邮件”,这会产生大量垃圾邮件,务必在设置中关闭此选项。
- 自定义通知规则:部分高级SMTP插件允许你指定哪些类型的邮件可以发送,你可以仅保留“安全警告”类的邮件,屏蔽“版本更新”类邮件。

对比:代码屏蔽 vs 插件屏蔽
为了帮助站长做出选择,我们可以对比两种主流方式的优劣:
| 特性 | 代码片段屏蔽 | 专用插件屏蔽 | SMTP插件配置 |
|---|---|---|---|
| 实施难度 | 低,需懂基本文件操作 | 中,需创建文件并上传 | 低,后台图形化操作 |
| 稳定性 | 高,除非主题文件被重置 | 极高,独立于主题存在 | 依赖插件版本兼容性 |
| 灵活性 | 低,需手动修改代码 | 中,可添加更多逻辑 | 高,可图形化选择类型 |
| 适用人群 | 临时调整或极简主义者 | 专业站长及多站点管理者 | 已使用SMTP优化邮件送达率的站点 |
行业共识认为,对于大多数中小规模网站,使用专用插件屏蔽是平衡维护成本与安全性的最佳选择。
常见误区与注意事项
在实施禁用操作时,站长们常犯一些错误,导致问题未解决或引发新麻烦。
完全禁用自动更新
禁用邮件通知不等于禁用自动更新功能本身,WordPress的自动更新(Auto-Update)和邮件通知(Email Notification)是两个独立的功能。
- 自动更新:在后台自动下载并安装更新包。
- 邮件通知:告知你更新已发生或可用。
如果你只想屏蔽邮件,但保留自动更新,上述代码依然有效,但请注意,自动更新核心程序存在风险,建议仅开启“次要版本”和“安全补丁”的自动更新,主版本更新建议手动操作。

忽视垃圾邮件过滤
即使禁用了WordPress自带的更新邮件,某些主机提供商或安全插件(如Wordfence)仍可能发送独立的安全报告邮件,如果这些邮件进入垃圾箱,你可能完全错过重要信息,建议定期检查垃圾邮件文件夹,并将发件人地址加入白名单。
场景:多站点网络(Multisite)的特殊处理
如果你运行的是WordPress多站点网络,上述代码需要添加到网络管理 > 设置 > 网络设置中的“默认站点选项”或全局wp-config.php中,以确保所有子站点都生效,具体路径为:登录主站后台,进入工具 > 网络设置,在“默认站点选项”部分,取消勾选“允许自动更新”相关的邮件发送选项(如果界面提供),若界面未提供,仍需通过代码全局过滤。
Q&A:关于禁用WordPress自动更新邮件的疑问解答
如何彻底解决WordPress自动更新邮件通知问题?
彻底解决的核心在于切断发送源头,通过在前端或后端代码中挂钩auto_plugin_update_send_email、auto_theme_update_send_email和auto_core_update_send_email过滤器并返回false,可以从系统层面阻止邮件生成,这是目前公认最稳定、无副作用的方法,无需依赖任何第三方插件,且能确保在任何主题切换下保持配置有效。
禁用自动更新邮件会影响网站安全吗?
禁用邮件通知本身不会影响网站的安全补丁安装,如果你的自动更新功能已开启,更新仍会在后台静默完成,邮件仅作为通知手段,如果同时禁用了自动更新且未手动检查更新,网站将面临安全风险,建议仅屏蔽邮件,保留自动更新(特别是安全补丁),并定期登录后台查看更新日志,以确保知情权。
为什么我的SMTP插件仍然发送更新邮件?
这是因为SMTP插件通常只负责“发送”邮件,而不负责“生成”邮件,WordPress核心逻辑在检测到更新后,会调用PHPMailer发送请求,如果SMTP插件配置了“发送所有邮件”,它会将WordPress生成的邮件转发出去,要解决此问题,需在WordPress层面通过代码禁用邮件生成(如前文所述),或在SMTP插件设置中查找“排除特定邮件类型”或“关闭调试通知”的选项,具体取决于插件版本。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/416638.html
