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.

Метод класса: WP_Site_Health{}

Хуков нет.

Возвращает

Массив. The test results.

Использование

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

Список изменений

С версии 5.2.0 Введена.

Код WP_Site_Health::get_test_background_updates() WP 6.4.3

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