Introduce a send_update_notification_email which controls whether an update notification email is sent for background updates. This filter allows control over each of the update types (plugin, theme, translation) and compliments the automatic_updates_send_debug_email and send_core_update_notification_email filters.

Fixes #33932
Props ronalfy


git-svn-id: https://develop.svn.wordpress.org/trunk@34543 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
John Blackbourn 2015-09-25 14:28:23 +00:00
parent a453e6aa6f
commit 03515ca82d

View File

@ -3368,6 +3368,24 @@ class WP_Automatic_Updater {
// Plugins, Themes, Translations
foreach ( array( 'plugin', 'theme', 'translation' ) as $type ) {
/**
* Filter to control whether a notification email is sent to the site admin email address for
* plugin, theme, and translation updates.
*
* By default, this only has an effect when automatic background updates are enabled and a
* development version of WordPress is in use.
*
* @since 4.4.0
*
* @param bool $notify Whether the site administrator is notified.
* @param string $type The type of update. One of 'plugin', 'theme', or 'translation'.
* @param WP_Automatic_Updater $this The WP_Automatic_Updater instance.
*/
if ( ! apply_filters( 'send_update_notification_email', true, $type, $this ) ) {
continue;
}
if ( ! isset( $this->update_results[ $type ] ) )
continue;
$success_items = wp_list_filter( $this->update_results[ $type ], array( 'result' => true ) );
@ -3402,6 +3420,10 @@ class WP_Automatic_Updater {
$body[] = '';
}
if ( empty( $body ) ) {
return;
}
$site_title = wp_specialchars_decode( get_bloginfo( 'name' ), ENT_QUOTES );
if ( $failures ) {
$body[] = trim( __(