The auto_plugin_update_send_email WordPress PHP filter allows you to control if an email should be sent after an automatic background plugin update.
Usage
add_filter('auto_plugin_update_send_email', 'my_custom_auto_plugin_update_send_email', 10, 2);
function my_custom_auto_plugin_update_send_email($enabled, $update_results) {
// your custom code here
return $enabled;
}
Parameters
$enabled(bool): True if plugin update notifications are enabled, false otherwise.$update_results(array): The results of plugins update tasks.
More information
See WordPress Developer Resources: auto_plugin_update_send_email
Examples
Disable Email Notifications for All Plugin Updates
Prevent email notifications for all automatic plugin updates.
add_filter('auto_plugin_update_send_email', '__return_false');
Enable Email Notifications Only for Specific Plugins
Send email notifications only for updates of specific plugins.
add_filter('auto_plugin_update_send_email', 'enable_specific_plugin_update_emails', 10, 2);
function enable_specific_plugin_update_emails($enabled, $update_results) {
$allowed_plugins = array('plugin-slug-1', 'plugin-slug-2');
foreach ($update_results as $result) {
if (in_array($result->item->slug, $allowed_plugins)) {
return true;
}
}
return false;
}
Disable Email Notifications for Failed Updates
Do not send email notifications if any plugin update has failed.
add_filter('auto_plugin_update_send_email', 'disable_failed_plugin_update_emails', 10, 2);
function disable_failed_plugin_update_emails($enabled, $update_results) {
foreach ($update_results as $result) {
if ($result->result && is_wp_error($result->result)) {
return false;
}
}
return $enabled;
}
Customize Email Subject for Plugin Update Notifications
Modify the email subject for plugin update notifications.
add_filter('auto_plugin_update_send_email', 'customize_plugin_update_email_subject', 10, 3);
function customize_plugin_update_email_subject($enabled, $update_results, $email) {
$email['subject'] = 'Customized Subject for Plugin Update Email';
return $email;
}
Log Plugin Update Results
Log the results of plugin updates to a custom file.
add_filter('auto_plugin_update_send_email', 'log_plugin_update_results', 10, 2);
function log_plugin_update_results($enabled, $update_results) {
$log_file = WP_CONTENT_DIR . '/plugin-update-log.txt';
$log_data = "Plugin Update Results:\n" . print_r($update_results, true) . "\n\n";
file_put_contents($log_file, $log_data, FILE_APPEND);
return $enabled;
}