Disable Admin Update Emails
Stops WordPress from emailing the site admin about core, plugin, and theme updates. Updates themselves still run as normal.
by Code For Broke, Inc. · github.com/codeforbroke/disable-admin-update-emails · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/codeforbroke/disable-admin-update-emails/archive/refs/heads/main.zipReadme
Disable Update Emails
A single-file WordPress plugin that stops the site admin from being emailed about core, plugin, and theme updates. Updates themselves still run exactly as before; only the mail stops.
No settings page, no database options, no assets. Around 20 lines of filters.
Install
As a must-use plugin (recommended): copy disable-update-emails.php into wp-content/mu-plugins/. It loads automatically with no activation step and won't show up in the plugins list.
As a normal plugin: copy it into wp-content/plugins/ and activate it from the Plugins screen instead.
curl -O https://raw.githubusercontent.com/codeforbroke/disable-admin-update-emails/main/disable-admin-update-emails.php
Requires WordPress 5.5+ and PHP 7.0+.
What it disables
| Filter | Email it stops |
|---|---|
auto_core_update_send_email |
Result mail after a core auto-update |
auto_plugin_update_send_email |
Plugin auto-update digest |
auto_theme_update_send_email |
Theme auto-update digest |
send_core_update_notification_email |
"A new version of WordPress is available", sent when the site can't auto-update |
automatic_updates_send_debug_email |
Debug mail, only ever sent on development versions of core |
Keeping failure alerts
auto_core_update_send_email gates every core result email, not just the successful ones. That includes the "URGENT: Your site may be down due to a failed update" message.
If you want the routine notices gone but the failures still delivered, remove the auto_core_update_send_email line and use this instead. It's included in the file as a commented block:
add_filter( 'auto_core_update_send_email', function ( $send, $type ) {
return 'success' === $type ? false : $send;
}, PHP_INT_MAX, 2 );
The $type argument is success, fail, or critical.
Limitations
- Only covers WordPress core's own mail. Third-party plugins that send their own update digests through
wp_mail, such as Wordfence, Jetpack, or a managed host's monitoring dashboard, are unaffected. If update email keeps arriving after installing this, one of those is the source. - Doesn't touch Site Health or recovery-mode emails, which are deliberately left alone.
- Doesn't touch admin notices or the update-count bubbles in the dashboard. This is email only.
License
GPL-2.0-or-later