WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Самая быстрая Тема-конструктор для WordPress
функция не описана

WP_Site_Health::wp_cron_scheduled_check() public WP 5.4.0

Run our scheduled event to check and update the latest site health status for the website.

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

Хуков нет.

Возвращает

Null. Ничего.

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

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

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

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

Код WP_Site_Health::wp_cron_scheduled_check() WP 5.5.1

<?php
public function wp_cron_scheduled_check() {
	// Bootstrap wp-admin, as WP_Cron doesn't do this for us.
	require_once trailingslashit( ABSPATH ) . 'wp-admin/includes/admin.php';

	$tests = WP_Site_Health::get_tests();

	$results = array();

	$site_status = array(
		'good'        => 0,
		'recommended' => 0,
		'critical'    => 0,
	);

	// Don't run https test on localhost.
	if ( 'localhost' === preg_replace( '|https?://|', '', get_site_url() ) ) {
		unset( $tests['direct']['https_status'] );
	}

	foreach ( $tests['direct'] as $test ) {

		if ( is_string( $test['test'] ) ) {
			$test_function = sprintf(
				'get_test_%s',
				$test['test']
			);

			if ( method_exists( $this, $test_function ) && is_callable( array( $this, $test_function ) ) ) {
				$results[] = $this->perform_test( array( $this, $test_function ) );
				continue;
			}
		}

		if ( is_callable( $test['test'] ) ) {
			$results[] = $this->perform_test( $test['test'] );
		}
	}

	foreach ( $tests['async'] as $test ) {
		if ( is_string( $test['test'] ) ) {
			if ( isset( $test['has_rest'] ) && $test['has_rest'] ) {
				$result_fetch = wp_remote_post(
					rest_url( $test['test'] ),
					array(
						'body' => array(
							'_wpnonce' => wp_create_nonce( 'wp_rest' ),
						),
					)
				);
			} else {
				$result_fetch = wp_remote_post(
					admin_url( 'admin-ajax.php' ),
					array(
						'body' => array(
							'action'   => $test['test'],
							'_wpnonce' => wp_create_nonce( 'health-check-site-status' ),
						),
					)
				);
			}

			if ( ! is_wp_error( $result_fetch ) ) {
				$result = json_decode( wp_remote_retrieve_body( $result_fetch ), true );
			} else {
				$result = false;
			}

			if ( is_array( $result ) ) {
				$results[] = $result;
			} else {
				$results[] = array(
					'status' => 'recommended',
					'label'  => __( 'A test is unavailable' ),
				);
			}
		}
	}

	foreach ( $results as $result ) {
		if ( 'critical' === $result['status'] ) {
			$site_status['critical']++;
		} elseif ( 'recommended' === $result['status'] ) {
			$site_status['recommended']++;
		} else {
			$site_status['good']++;
		}
	}

	set_transient( 'health-check-site-status-result', wp_json_encode( $site_status ) );
}