WP_Automatic_Updater::after_plugin_theme_update()protectedWP 5.5.0

Checks whether an email should be sent after attempting plugin or theme updates.

Method of the class: WP_Automatic_Updater{}

Return

null. Nothing (null).

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.

WP_Automatic_Updater::after_plugin_theme_update() code WP 6.5.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 );
	}
}