WP_Site_Health::get_test_background_updates()publicWP 5.2.0

Tests if WordPress can run automated background updates.

Background updates in WordPress are primarily used for minor releases and security updates. It's important to either have these working, or be aware that they are intentionally disabled for whatever reason.

Method of the class: WP_Site_Health{}

No Hooks.

Return

Array. The test results.

Usage

$WP_Site_Health = new WP_Site_Health();
$WP_Site_Health->get_test_background_updates();

Changelog

Since 5.2.0 Introduced.

WP_Site_Health::get_test_background_updates() code WP 6.5.2

public function get_test_background_updates() {
	$result = array(
		'label'       => __( 'Background updates are working' ),
		'status'      => 'good',
		'badge'       => array(
			'label' => __( 'Security' ),
			'color' => 'blue',
		),
		'description' => sprintf(
			'<p>%s</p>',
			__( 'Background updates ensure that WordPress can auto-update if a security update is released for the version you are currently using.' )
		),
		'actions'     => '',
		'test'        => 'background_updates',
	);

	if ( ! class_exists( 'WP_Site_Health_Auto_Updates' ) ) {
		require_once ABSPATH . 'wp-admin/includes/class-wp-site-health-auto-updates.php';
	}

	/*
	 * Run the auto-update tests in a separate class,
	 * as there are many considerations to be made.
	 */
	$automatic_updates = new WP_Site_Health_Auto_Updates();
	$tests             = $automatic_updates->run_tests();

	$output = '<ul>';

	foreach ( $tests as $test ) {
		/* translators: Hidden accessibility text. */
		$severity_string = __( 'Passed' );

		if ( 'fail' === $test->severity ) {
			$result['label'] = __( 'Background updates are not working as expected' );

			$result['status'] = 'critical';

			/* translators: Hidden accessibility text. */
			$severity_string = __( 'Error' );
		}

		if ( 'warning' === $test->severity && 'good' === $result['status'] ) {
			$result['label'] = __( 'Background updates may not be working properly' );

			$result['status'] = 'recommended';

			/* translators: Hidden accessibility text. */
			$severity_string = __( 'Warning' );
		}

		$output .= sprintf(
			'<li><span class="dashicons %s"><span class="screen-reader-text">%s</span></span> %s</li>',
			esc_attr( $test->severity ),
			$severity_string,
			$test->description
		);
	}

	$output .= '</ul>';

	if ( 'good' !== $result['status'] ) {
		$result['description'] .= $output;
	}

	return $result;
}