WordPress at Your Fingertips
function is not described

WP_Automatic_Updater::after_plugin_theme_update() protected WP 5.5.0

If we tried to perform plugin or theme updates, check if we should send an email.

{} It's a method of the class: WP_Automatic_Updater{}

Return

null. Nothing.

Usage

// protected - for code of main (parent) or child class
$result = $this->after_plugin_theme_update( $update_results );
$update_results(array) (required)
The results of update tasks.

Changelog

Since 5.5.0 Introduced.

Code of WP_Automatic_Updater::after_plugin_theme_update() WP 5.8.2

protected function after_plugin_theme_update( $update_results ) {
	$successful_updates = array();
	$failed_updates     = array();

	if ( ! empty( $update_results['plugin'] ) ) {
		/**
		 * Filters whether to send an email following an automatic background plugin update.
		 *
		 * @since 5.5.0
		 * @since 5.5.1 Added the `$update_results` parameter.
		 *
		 * @param bool  $enabled        True if plugin update notifications are enabled, false otherwise.
		 * @param array $update_results The results of plugins update tasks.
		 */
		$notifications_enabled = apply_filters( 'auto_plugin_update_send_email', true, $update_results['plugin'] );

		if ( $notifications_enabled ) {
			foreach ( $update_results['plugin'] as $update_result ) {
				if ( true === $update_result->result ) {
					$successful_updates['plugin'][] = $update_result;
				} else {
					$failed_updates['plugin'][] = $update_result;
				}
			}
		}
	}

	if ( ! empty( $update_results['theme'] ) ) {
		/**
		 * Filters whether to send an email following an automatic background theme update.
		 *
		 * @since 5.5.0
		 * @since 5.5.1 Added the `$update_results` parameter.
		 *
		 * @param bool  $enabled        True if theme update notifications are enabled, false otherwise.
		 * @param array $update_results The results of theme update tasks.
		 */
		$notifications_enabled = apply_filters( 'auto_theme_update_send_email', true, $update_results['theme'] );

		if ( $notifications_enabled ) {
			foreach ( $update_results['theme'] as $update_result ) {
				if ( true === $update_result->result ) {
					$successful_updates['theme'][] = $update_result;
				} else {
					$failed_updates['theme'][] = $update_result;
				}
			}
		}
	}

	if ( empty( $successful_updates ) && empty( $failed_updates ) ) {
		return;
	}

	if ( empty( $failed_updates ) ) {
		$this->send_plugin_theme_email( 'success', $successful_updates, $failed_updates );
	} elseif ( empty( $successful_updates ) ) {
		$this->send_plugin_theme_email( 'fail', $successful_updates, $failed_updates );
	} else {
		$this->send_plugin_theme_email( 'mixed', $successful_updates, $failed_updates );
	}
}