WP Manifestindependent plugin directory
manifest / email / disable-admin-update-emails

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

0stars
0forks

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.zip

Readme

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

Read the full README on GitHub →