WP_Automatic_Updater::after_plugin_theme_update( array $update_results )

In this article

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

Parameters

$update_resultsarrayrequired
The results of update tasks.

Source

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 );
	}
}

Hooks

apply_filters( ‘auto_plugin_update_send_email’, bool $enabled, array $update_results )

Filters whether to send an email following an automatic background plugin update.

apply_filters( ‘auto_theme_update_send_email’, bool $enabled, array $update_results )

Filters whether to send an email following an automatic background theme update.

Changelog

VersionDescription
5.5.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.