WordPress at Your Fingertips
function is not described

WP_Site_Health::get_test_background_updates() public WP 5.2.0

Test 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.

{} It's a 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.

Code of WP_Site_Health::get_test_background_updates() WP 5.8.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 ) {
		$severity_string = __( 'Passed' );

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

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

			$severity_string = __( 'Error' );
		}

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

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

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