The auto_core_update_email WordPress PHP filter allows you to customize the email sent following an automatic background core update.
Usage
add_filter('auto_core_update_email', 'your_custom_function', 10, 4);
function your_custom_function($email, $type, $core_update, $result) {
// your custom code here
return $email;
}
Parameters
$email(array) – Array of email arguments that will be passed towp_mail().to(string) – The email recipient. An array of emails can be returned, as handled bywp_mail().subject(string) – The email’s subject.body(string) – The email message body.headers(string) – Any email headers, defaults to no headers.
$type(string) – The type of email being sent. Can be one of ‘success’, ‘fail’, ‘manual’, ‘critical’.$core_update(object) – The update offer that was attempted.$result(mixed) – The result for the core update. Can beWP_Error.
More information
See WordPress Developer Resources: auto_core_update_email
Examples
Change the email recipient
Change the email recipient to a custom email address.
add_filter('auto_core_update_email', 'change_auto_update_email_recipient', 10, 4);
function change_auto_update_email_recipient($email, $type, $core_update, $result) {
$email['to'] = '[email protected]';
return $email;
}
Modify the email subject
Add the website name to the email subject.
add_filter('auto_core_update_email', 'modify_auto_update_email_subject', 10, 4);
function modify_auto_update_email_subject($email, $type, $core_update, $result) {
$email['subject'] = get_bloginfo('name') . ' - ' . $email['subject'];
return $email;
}
Customize the email body
Add a custom message to the email body.
add_filter('auto_core_update_email', 'customize_auto_update_email_body', 10, 4);
function customize_auto_update_email_body($email, $type, $core_update, $result) {
$email['body'] = "Your custom message goes here.\n\n" . $email['body'];
return $email;
}
Add custom email headers
Add a custom email header to the email.
add_filter('auto_core_update_email', 'add_custom_email_headers', 10, 4);
function add_custom_email_headers($email, $type, $core_update, $result) {
$email['headers'] = 'From: Your Name <[email protected]>';
return $email;
}
Modify email based on update type
Send a different email for ‘success’ and ‘fail’ update types.
add_filter('auto_core_update_email', 'modify_email_based_on_type', 10, 4);
function modify_email_based_on_type($email, $type, $core_update, $result) {
if ($type === 'success') {
$email['subject'] = 'Update Success';
$email['body'] = "The update was successful!";
} elseif ($type === 'fail') {
$email['subject'] = 'Update Failed';
$email['body'] = "Unfortunately, the update has failed.";
}
return $email;
}
Disable email for specific update type
Disable sending email for ‘manual’ update type.
add_filter('auto_core_update_email', 'disable_email_for_manual_type', 10, 4);
function disable_email_for_manual_type($email, $type, $core_update, $result) {
if ($type === 'manual') {
return false;
}
return $email;
}