- Описание класса
- Методы
- admin_body_class()
- available_object_cache_services()
- can_perform_loopback()
- check_for_page_caching()
- check_wp_version_check_exists()
- detect_plugin_theme_auto_update_issues()
- enqueue_scripts()
- get_cron_tasks()
- get_good_response_time_threshold()
- get_instance()
- get_page_cache_detail()
- get_page_cache_headers()
- get_tests()
- get_test_authorization_header()
- get_test_available_updates_disk_space()
- get_test_background_updates()
- get_test_dotorg_communication()
- get_test_file_uploads()
- get_test_https_status()
- get_test_http_requests()
- get_test_is_in_debug_mode()
- get_test_loopback_requests()
- get_test_page_cache()
- get_test_persistent_object_cache()
- get_test_php_default_timezone()
- get_test_php_extensions()
- get_test_php_sessions()
- get_test_php_version()
- get_test_plugin_theme_auto_updates()
- get_test_plugin_version()
- get_test_rest_availability()
- get_test_scheduled_events()
- get_test_sql_server()
- get_test_ssl_support()
- get_test_theme_version()
- get_test_update_temp_backup_writable()
- get_test_utf8mb4_support()
- get_test_wordpress_version()
- has_late_cron()
- has_missed_cron()
- is_development_environment()
- maybe_create_scheduled_event()
- perform_test()
- prepare_sql_data()
- should_suggest_persistent_object_cache()
- show_site_health_tab()
- test_php_extension_availability()
- wp_cron_scheduled_check()
- wp_schedule_test_init()
- __construct()
- Примеры использования
- Получение списка доступных сервисов кэширования объектов
- Проверка наличия кэширования страниц
- Проверка наличия обновлений плагинов и тем
- Тестирование доступности REST API
- Проверка работы запланированных событий
- Вопросы и ответы
- Как проверить здоровье сайта с помощью класса WP_Site_Health?
- Как добавить класс к тегу body с помощью метода admin_body_class?
- Как получить список доступных сервисов постоянного кэширования объектов?
- Как запустить тест обратного вызова на сайте?
- Как проверить, включено ли кэширование страниц на сайте?
- Как проверить, блокируется ли функция wp_version_check?
- Как добавить скрипты для проверки здоровья сайта?
- Как получить список задач cron?
- Как определить порог времени отклика для считания его хорошим?
- Как получить подробности о кэшировании страницы?
- Как получить список заголовков и их проверочные функции для проверки включено ли кэширование страницы?
- Как протестировать заголовок авторизации на наличие ожидаемых значений?
- Как протестировать доступное дисковое пространство для обновлений?
- Как протестировать возможность автоматических фоновых обновлений WordPress?
- Как протестировать связь с WordPress.org?
- Как протестировать, отключена ли директива ‘file_uploads’ в PHP.ini?
- Как протестировать, блокируются ли HTTP-запросы?
- Как протестировать, обслуживается ли сайт по HTTPS?
- Как протестировать, включена ли отладочная информация?
- Как протестировать, работают ли обратные вызовы?
- Как протестировать, доступен ли полный кэш страницы?
- Как протестировать, установлено ли PHP-среде по умолчанию время UTC?
- Как протестировать, установлены ли необходимые модули PHP на хосте?
- Как протестировать, есть ли активная PHP-сессия, которая может повлиять на обратные вызовы?
- Как протестировать, поддерживается ли указанная версия PHP?
- Как протестировать доступность REST API?
- Класс WP_Site_Health
- Как протестировать, выполняются ли запланированные события?
- Как протестировать, актуален ли SQL-сервер?
- Как проверить поддержку SSL в HTTP API?
- Как протестировать версию темы?
- Как протестировать поддержку utf8mb4 базой данных?
- Как протестировать версию WordPress?
- Как получить набор тестов, относящихся к странице состояния сайта?
- Как проверить, есть ли запланированные задачи, которые запускаются с опозданием?
- Как проверить, есть ли пропущенные запланированные задачи?
- Как проверить, установлено ли текущее окружение как ‘development’ или ‘local’?
- Как создать еженедельное событие cron, если оно еще не существует?
- Как запустить тест здоровья сайта непосредственно?
- Как подготовить данные SQL для проверки версии?
- Когда рекомендуется использовать постоянный кэш объектов?
- Как вывести вкладку здоровья сайта?
Описание класса
Класс WP_Site_Health предназначен для проверки состояния сайта на основе окружения WordPress пользователя. Он предоставляет методы для выполнения различных тестов и проверок, связанных с безопасностью, производительностью и общим состоянием сайта.
Этот класс используется в административной части WordPress для отображения информации о состоянии сайта в разделе «Здоровье сайта». Он помогает пользователям определить проблемы, которые могут влиять на работу и безопасность их сайта, и предлагает рекомендации по их устранению.
Методы
__construct— конструктор классаWP_Site_Health.admin_body_class— добавляет класс к тегуbodyHTML.available_object_cache_services— возвращает список доступных служб постоянного кэширования объектов.can_perform_loopback— выполняет тест обратного вызова на сайте.check_for_page_caching— проверяет, включено ли кэширование страниц на сайте или нет.check_wp_version_check_exists— проверяет, заблокирован ли вызовwp_version_check.detect_plugin_theme_auto_update_issues— проверяет наличие потенциальных проблем с автоматическим обновлением плагинов и тем.enqueue_scripts— добавляет скрипты для проверки состояния сайта.get_cron_tasks— заполняет список событий cron и сохраняет их в переменной класса.get_good_response_time_threshold— возвращает пороговое значение, ниже которого время ответа считается хорошим.get_instance— возвращает экземпляр классаWP_Site_Healthили создает новый, если еще не существует.get_page_cache_detail— получает информацию о кэше страниц.get_page_cache_headers— возвращает список заголовков и их функции проверки для проверки, включен ли кэш страниц.get_test_authorization_header— проверяет, имеет ли заголовок авторизации ожидаемые значения.get_test_available_updates_disk_space— проверяет доступное дисковое пространство для обновлений.get_test_background_updates— проверяет, может ли WordPress выполнять автоматические фоновые обновления.get_test_dotorg_communication— проверяет, может ли сайт связываться с WordPress.org.get_test_file_uploads— проверяет, отключена ли директиваfile_uploadsв PHP.ini.get_test_http_requests— проверяет, заблокированы ли HTTP-запросы.get_test_https_status— проверяет, обслуживается ли контент сайта по протоколу HTTPS.get_test_is_in_debug_mode— проверяет, включена ли отладочная информация.get_test_loopback_requests— проверяет, работают ли обратные вызовы ожидаемым образом.get_test_page_cache— проверяет, доступен ли полный кэш страниц.get_test_persistent_object_cache— проверяет, использует ли сайт постоянный кэш объектов и рекомендует его использование, если это не так.get_test_php_default_timezone— проверяет, установлено ли PHP значение по умолчанию для часового пояса в UTC.get_test_php_extensions— проверяет, установлены ли необходимые модули PHP на хосте.get_test_php_sessions— проверяет, существует ли активная сессия PHP, которая может влиять на обратные вызовы.get_test_php_version— проверяет, поддерживается ли указанная версия PHP.get_test_plugin_theme_auto_updates— проверяет, правильно ли настроены автоматические обновления плагинов и тем.get_test_plugin_version— проверяет, устарели ли плагины или они не нужны.get_test_rest_availability— проверяет доступность REST API.get_test_scheduled_events— проверяет, выполняются ли запланированные события.get_test_sql_server— проверяет, актуален ли SQL-сервер.get_test_ssl_support— проверяет, может ли HTTP API обрабатывать запросы SSL/TLS.get_test_theme_version— проверяет, устарели ли темы или они не нужны.get_test_update_temp_backup_writable— проверяет, доступны ли для записи или могут быть созданы временные резервные каталоги плагинов и тем.get_test_utf8mb4_support— проверяет, поддерживает ли сервер баз данных использование utf8mb4.get_test_wordpress_version— проверяет версию WordPress и выводит ее.get_tests— возвращает набор тестов, принадлежащих странице состояния сайта.has_late_cron— проверяет, есть ли запланированные задачи, которые запускаются с опозданием.has_missed_cron— проверяет, были ли пропущены запланированные задачи.is_development_environment— проверяет, установлено ли текущее окружение на «development» или «local».maybe_create_scheduled_event— создает еженедельное событие cron, если оно еще не существует.perform_test— выполняет тест состояния сайта непосредственно.prepare_sql_data— выполняет проверку версии SQL.should_suggest_persistent_object_cache— определяет, следует ли предложить использовать постоянный кэш объектов.show_site_health_tab— выводит содержимое вкладки в экране «Здоровье сайта».test_php_extension_availability— проверяет доступность указанного расширения или функции PHP.wp_cron_scheduled_check— запускает запланированное событие для проверки и обновления последнего состояния здоровья сайта для веб-сайта.wp_schedule_test_init— инициирует тесты расписания WP_Cron.
Методы
admin_body_class()
Метод admin_body_class() добавляет класс к тегу body HTML. Он используется для добавления класса к тегу body в административной панели WordPress.
WP_Site_Health::admin_body_class( string $body_class ): string Метод admin_body_class() принимает один обязательный параметр:
$body_class(строка) — Обязательный. Строка класса для добавления к тегуbody.
Метод возвращает измененную строку класса тега body.
/**
* Добавляет класс к тегу body.
*
* @param string $body_class Строка класса для добавления к тегу body.
* @return string Измененная строка класса тега body.
*/
WP_Site_Health::admin_body_class( $body_class );
available_object_cache_services()
Метод available_object_cache_services() класса WP_Site_Health возвращает список доступных постоянных служб кэширования объектов.
Этот метод используется для получения списка всех доступных служб кэширования объектов, которые могут быть использованы в WordPress.
Метод работает путем проверки наличия определенных классов и функций, которые отвечают за реализацию постоянного кэширования объектов. Если эти классы и функции доступны, то они добавляются в список доступных служб кэширования объектов.
WP_Site_Health::available_object_cache_services(); Этот код возвращает массив строк string[], содержащий список доступных постоянных служб кэширования объектов.
Код можно использовать для получения списка всех доступных служб кэширования объектов в WordPress.
Метод available_object_cache_services() возвращает список доступных постоянных служб кэширования объектов в виде массива строк string[].
Этот список содержит имена всех доступных служб кэширования объектов, которые могут быть использованы в WordPress.
can_perform_loopback()
Метод can_perform_loopback() является частью класса WP_Site_Health и предназначен для выполнения теста на сайте с использованием обратного вызова (loopback test). Он проверяет, может ли сайт успешно выполнить обратный вызов к самому себе.
Метод работает путем отправки HTTP-запроса на адрес сайта и ожидания ответа. Если ответ получен, то тест считается успешным, иначе тест считается неудачным.
Этот метод полезен для проверки работоспособности сервера и настройки сети, а также для обнаружения проблем, связанных с выполнением обратного вызова на сайте.
WP_Site_Health::can_perform_loopback(): object Метод can_perform_loopback() вызывается статически, без создания экземпляра класса WP_Site_Health. Он не принимает никаких аргументов.
Пример использования:
$result = WP_Site_Health::can_perform_loopback(); В этом примере переменная $result будет содержать результат выполнения теста обратного вызова.
Метод can_perform_loopback() возвращает объект WP_Error или WP_Site_Health_Result. Результаты теста содержат информацию о том, успешно ли выполнен обратный вызов или нет.
check_for_page_caching()
Метод check_for_page_caching() является частью класса WP_Site_Health и используется для проверки, включено ли кэширование страниц на сайте или нет. Он проверяет, установлены ли на сайте плагины или настройки, которые активируют кэширование страниц.
WP_Site_Health::check_for_page_caching() Метод check_for_page_caching() возвращает либо объект WP_Error, либо массив с подробностями обнаружения кэширования страниц. Если кэширование страниц включено, возвращается массив с информацией о кэшировании. В противном случае, возвращается объект WP_Error с информацией об ошибке.
Метод check_for_page_caching() возвращает либо объект WP_Error, либо массив с подробностями обнаружения кэширования страниц. Если кэширование страниц включено, возвращается массив с информацией о кэшировании. В противном случае, возвращается объект WP_Error с информацией об ошибке.
check_wp_version_check_exists()
Метод check_wp_version_check_exists() является частью класса WP_Site_Health и используется для проверки, заблокирован ли запрос на обновление версии WordPress.
Этот метод проверяет, установлен ли фильтр block_local_requests для хука http_request_local_request. Если фильтр установлен, это означает, что запрос на обновление версии WordPress заблокирован.
Метод возвращает true, если фильтр установлен, и false, если фильтр не установлен.
WP_Site_Health::check_wp_version_check_exists(); Вызов этого метода позволяет проверить, заблокирован ли запрос на обновление версии WordPress.
Метод не принимает никаких аргументов.
Возвращает true, если фильтр block_local_requests установлен, и false, если фильтр не установлен.
detect_plugin_theme_auto_update_issues()
Метод detect_plugin_theme_auto_update_issues() является частью класса WP_Site_Health и предназначен для проверки потенциальных проблем с автоматическим обновлением плагинов и тем в WordPress.
Метод анализирует текущую конфигурацию сайта и проверяет, есть ли какие-либо проблемы, которые могут возникнуть при автоматическом обновлении плагинов и тем. Это включает в себя проверку наличия устаревших плагинов или тем, несовместимых версий плагинов или тем, а также возможные конфликты между плагинами или темами.
WP_Site_Health::detect_plugin_theme_auto_update_issues(): object Вызов метода detect_plugin_theme_auto_update_issues() возвращает объект с результатами тестирования.
Метод detect_plugin_theme_auto_update_issues() возвращает объект с результатами тестирования. Этот объект содержит информацию о возможных проблемах с автоматическим обновлением плагинов и тем.
enqueue_scripts()
Метод enqueue_scripts() является частью класса WP_Site_Health и используется для добавления скриптов, необходимых для работы функционала проверки состояния сайта.
Этот метод отвечает за подключение всех необходимых скриптов, которые используются при выполнении проверки состояния сайта. Он обеспечивает правильную загрузку скриптов и их зависимостей, чтобы функционал проверки работал корректно.
Метод enqueue_scripts() является внутренним методом класса WP_Site_Health и не предназначен для использования вне этого класса.
WP_Site_Health::enqueue_scripts(); Этот код используется для вызова метода enqueue_scripts() класса WP_Site_Health.
Метод enqueue_scripts() автоматически подключает все необходимые скрипты для работы функционала проверки состояния сайта. Он должен быть вызван в контексте класса WP_Site_Health.
При вызове этого метода, все необходимые скрипты будут добавлены в очередь загрузки и будут загружены на странице, когда будет вызвана функция wp_footer(). Это позволяет гарантировать, что все скрипты будут загружены в правильном порядке и не будут конфликтовать с другими скриптами на странице.
get_cron_tasks()
Метод get_cron_tasks() класса WP_Site_Health используется для заполнения списка событий cron и сохранения их в переменной класса.
Метод позволяет получить список всех задач cron, которые были зарегистрированы в WordPress-сайте. Задачи cron — это задания, которые выполняются автоматически по расписанию. Это может быть выполнение плагинов, отправка уведомлений или другие действия, которые должны происходить регулярно.
Метод get_cron_tasks() сканирует все зарегистрированные задачи cron и сохраняет их в переменной класса для дальнейшего использования.
WP_Site_Health::get_cron_tasks(); Вызов метода get_cron_tasks() позволяет получить список всех задач cron, зарегистрированных на сайте.
Данный метод не принимает никаких аргументов и не возвращает значения. Он только заполняет список задач cron и сохраняет его в переменной класса для дальнейшего использования.
После вызова метода get_cron_tasks() можно получить список задач cron, используя другие методы или свойства класса WP_Site_Health.
get_good_response_time_threshold()
Метод get_good_response_time_threshold() является частью класса WP_Site_Health и предназначен для получения порогового значения, ниже которого время ответа считается хорошим.
Данный метод используется для определения времени ответа на запросы к сайту и оценки его производительности. Он позволяет установить пороговое значение, ниже которого время ответа считается хорошим, что помогает определить, насколько быстро работает сайт.
WP_Site_Health::get_good_response_time_threshold(): int Метод get_good_response_time_threshold() возвращает целочисленное значение, представляющее пороговое значение времени ответа в миллисекундах.
Код:
/**
* Возвращает пороговое значение времени ответа, считающееся хорошим.
*
* @return int Пороговое значение времени ответа в миллисекундах.
*/
public static function get_good_response_time_threshold() {
return 500; // Пороговое значение времени ответа в миллисекундах.
}
Метод get_good_response_time_threshold() возвращает целочисленное значение, представляющее пороговое значение времени ответа в миллисекундах.
Пример:
500 get_instance()
Метод get_instance() является статическим методом класса WP_Site_Health. Он возвращает экземпляр класса WP_Site_Health или создает новый, если экземпляр еще не существует.
Этот метод используется для получения доступа к функциональности класса WP_Site_Health. Он позволяет получить доступ к методам и свойствам класса без необходимости создания нового экземпляра.
WP_Site_Health::get_instance(); Вызов этого кода возвращает экземпляр класса WP_Site_Health или null.
Метод get_instance() возвращает экземпляр класса WP_Site_Health или null.
get_page_cache_detail()
Метод get_page_cache_detail() является частью класса WP_Site_Health и используется для получения информации о деталях кэширования страницы.
WP_Site_Health::get_page_cache_detail(): WP_Error|array Метод get_page_cache_detail() возвращает массив с деталями кэширования страницы или объект WP_Error, если не удалось определить.
Код метода:
public static function get_page_cache_detail() {
// код метода
} Метод get_page_cache_detail() возвращает массив с деталями кэширования страницы или объект WP_Error, если не удалось определить.
get_page_cache_headers()
Метод get_page_cache_headers() является частью класса WP_Site_Health и используется для получения списка заголовков и их функций проверки, чтобы определить, включено ли кэширование страницы или нет. Этот метод возвращает массив заголовков кэширования клиента и их (необязательные) функции проверки.
WP_Site_Health::get_page_cache_headers(): array Этот код вызывает метод get_page_cache_headers() класса WP_Site_Health и возвращает массив заголовков кэширования клиента.
Код:
$headers = WP_Site_Health::get_page_cache_headers();
В этом коде переменной $headers присваивается результат выполнения метода get_page_cache_headers().
Метод get_page_cache_headers() возвращает массив заголовков кэширования клиента и их (необязательные) функции проверки.
get_tests()
Метод get_tests() класса WP_Site_Health возвращает набор тестов, принадлежащих странице состояния сайта. Он используется для проверки различных аспектов работы сайта и определения его общего состояния.
WP_Site_Health::get_tests(): array
Метод get_tests() вызывается статически, без создания экземпляра класса WP_Site_Health. Он возвращает массив, содержащий список тестов, которые должны быть выполнены для определения состояния сайта.
Метод get_tests() возвращает список тестов, которые должны быть выполнены. Результатом является массив.
get_test_authorization_header()
Метод get_test_authorization_header() является частью класса WP_Site_Health и используется для проверки наличия ожидаемых значений в заголовке Authorization.
WP_Site_Health::get_test_authorization_header(): array Метод get_test_authorization_header() возвращает массив.
Код метода get_test_authorization_header() содержит следующие комментарии:
// Tests if the Authorization header has the expected values.
// This is used to check if the server is passing the Authorization header to PHP.
// If the header is not passed to PHP, then PHP_AUTH_USER and PHP_AUTH_PW will not be populated.
// This can cause issues with HTTP Basic Authentication and HTTP Digest Authentication.
// The expected values are 'username' and 'password'.
// The header value should be base64 encoded.
// The header value should be "Basic base64_encode( 'username:password' )".
// The expected header value is "Basic dXNlcm5hbWU6cGFzc3dvcmQ=".
// If the header value matches the expected value, the test passes.
// If the header value does not match the expected value, the test fails. Метод get_test_authorization_header() возвращает массив.
get_test_available_updates_disk_space()
Метод get_test_available_updates_disk_space() является частью класса WP_Site_Health и предназначен для проверки доступного дискового пространства для обновлений в WordPress.
Данный метод используется для выполнения теста доступного дискового пространства и возвращает результаты этого теста в виде массива.
WP_Site_Health::get_test_available_updates_disk_space(): array Метод get_test_available_updates_disk_space() вызывается статически, без необходимости создания экземпляра класса WP_Site_Health. Он не принимает никаких аргументов.
Возвращаемое значение — массив, содержащий результаты теста.
Метод get_test_available_updates_disk_space() возвращает результаты теста доступного дискового пространства в виде массива.
get_test_background_updates()
Метод get_test_background_updates() является частью класса WP_Site_Health и используется для проверки возможности автоматического запуска фоновых обновлений в WordPress. Он выполняет несколько тестов, чтобы определить, может ли WordPress успешно запускать автоматические обновления в фоновом режиме.
WP_Site_Health::get_test_background_updates(): array Метод get_test_background_updates() не принимает никаких аргументов. Он вызывается статически, используя имя класса WP_Site_Health и оператор двойного двоеточия.
Этот метод возвращает массив, содержащий результаты тестов.
Метод get_test_background_updates() возвращает массив с результатами тестов. Каждый элемент массива представляет собой результат одного из тестов, выполненных для определения возможности автоматических фоновых обновлений в WordPress.
get_test_dotorg_communication()
Метод get_test_dotorg_communication() класса WP_Site_Health используется для проверки возможности связи сайта с WordPress.org. Он выполняет тестовый запрос к серверу WordPress.org, чтобы убедиться, что сайт может успешно связываться с ним.
WP_Site_Health::get_test_dotorg_communication(): array Этот метод вызывается статически, используя имя класса WP_Site_Health и оператор двойного двоеточия. Он не принимает никаких аргументов.
Метод возвращает массив с результатами теста.
Метод get_test_dotorg_communication() возвращает массив с результатами теста. Каждый элемент массива представляет собой отдельный тест и содержит информацию о его статусе и сообщение об ошибке, если таковая имеется. Общий формат массива результатов теста выглядит следующим образом:
[
'test_name' => [
'status' => 'pass' или 'fail',
'label' => 'Текстовая метка теста',
'message' => 'Сообщение об ошибке (если есть)'
],
...
]
get_test_file_uploads()
Метод get_test_file_uploads() является частью класса WP_Site_Health и используется для проверки, включена ли директива ‘file_uploads’ в файле PHP.ini.
Этот метод проверяет значение директивы ‘file_uploads’ в файле PHP.ini и возвращает результаты теста.
WP_Site_Health::get_test_file_uploads(): array Метод get_test_file_uploads() вызывается статически, без создания экземпляра класса WP_Site_Health. Он возвращает массив с результатами теста.
Код метода:
public static function get_test_file_uploads() {
$result = array(
'label' => __( 'File Uploads', 'health-check' ),
'test' => 'file_uploads',
);
if ( ini_get( 'file_uploads' ) ) {
$result['status'] = 'good';
$result['label'] .= ' ' . __( 'is enabled', 'health-check' );
$result['description'] = __( 'The file_uploads directive is enabled in PHP.ini.', 'health-check' );
} else {
$result['status'] = 'critical';
$result['label'] .= ' ' . __( 'is disabled', 'health-check' );
$result['description'] = __( 'The file_uploads directive is disabled in PHP.ini.', 'health-check' );
}
return $result;
}
Метод создает массив $result, который содержит метку, тест и статус проверки. Затем он проверяет значение директивы ‘file_uploads’ в файле PHP.ini. Если директива включена, метод устанавливает статус ‘good’ и добавляет соответствующие метку и описание. Если директива отключена, метод устанавливает статус ‘critical’ и также добавляет соответствующую метку и описание. В конце метод возвращает массив с результатами теста.
Метод get_test_file_uploads() возвращает массив с результатами теста. Каждый элемент массива содержит метку, тест, статус и описание проверки.
get_test_https_status()
Метод get_test_https_status() является частью класса WP_Site_Health и используется для проверки того, обслуживает ли сайт контент по протоколу HTTPS. Он выполняет тестирование и возвращает результаты проверки.
WP_Site_Health::get_test_https_status(): array Метод get_test_https_status() вызывается статически, без создания экземпляра класса WP_Site_Health. Он возвращает массив с результатами тестирования.
Метод get_test_https_status() возвращает массив с результатами тестирования. Каждый элемент массива представляет собой отдельный тест и содержит информацию о его статусе.
get_test_http_requests()
Метод get_test_http_requests() класса WP_Site_Health используется для проверки, блокируются ли HTTP-запросы.
WP_Site_Health::get_test_http_requests(): array Метод get_test_http_requests() не принимает аргументов. Он возвращает массив с результатами теста.
Метод get_test_http_requests() возвращает массив с результатами теста. Каждый элемент массива представляет собой результат одного теста HTTP-запроса.
get_test_is_in_debug_mode()
Метод get_test_is_in_debug_mode() класса WP_Site_Health используется для проверки включенности отладочной информации.
Метод проверяет, включена ли отладочная информация в настройках WordPress. Отладочная информация предоставляет дополнительные сведения о работе сайта, такие как ошибки PHP, запросы к базе данных и другую полезную информацию для разработчиков.
WP_Site_Health::get_test_is_in_debug_mode(): array
Метод get_test_is_in_debug_mode() не принимает аргументов.
Код возвращает массив с результатами теста.
Метод get_test_is_in_debug_mode() возвращает массив с результатами теста. Результаты теста могут быть следующими:
status(строка) — статус теста, может быть «critical», «recommended» или «good».label(строка) — метка теста.description(строка) — описание теста.actions(массив) — массив действий, которые можно предпринять для исправления проблемы.
get_test_loopback_requests()
Метод get_test_loopback_requests() является частью класса WP_Site_Health и используется для проверки работоспособности loopback-запросов в WordPress. Loopback-запросы — это запросы, которые отправляются на тот же сервер, на котором работает WordPress, и используются для проверки различных функций и сервисов.
Метод get_test_loopback_requests() проверяет, работают ли loopback-запросы ожидаемым образом. Он отправляет несколько тестовых запросов на сервер и анализирует ответы. Если все запросы успешно завершаются, метод возвращает массив с результатами тестов.
WP_Site_Health::get_test_loopback_requests(): array Метод get_test_loopback_requests() вызывается статически, используя имя класса WP_Site_Health и оператор двойного двоеточия. Он не принимает никаких аргументов.
Код метода:
public static function get_test_loopback_requests() {
$test_results = array();
// Отправка тестовых запросов и анализ ответов
return $test_results;
}
Комментарии к коду:
- Создается пустой массив
$test_results, в который будут добавляться результаты тестовых запросов. - Выполняются тестовые запросы и анализируются ответы.
- Результаты тестов сохраняются в массиве
$test_results. - Массив
$test_resultsвозвращается в качестве результата работы метода.
Метод get_test_loopback_requests() возвращает массив с результатами тестов. Каждый элемент массива представляет собой результат одного тестового запроса. Формат элемента массива зависит от конкретной реализации тестового запроса.
get_test_page_cache()
Метод get_test_page_cache() класса WP_Site_Health используется для проверки доступности полного кэша страницы. Он выполняет тест, чтобы узнать, установлен ли и работает ли полный кэш страницы на сайте WordPress.
WP_Site_Health::get_test_page_cache(): array Метод get_test_page_cache() вызывается статически, то есть без создания экземпляра класса WP_Site_Health. Он не принимает никаких аргументов.
Код выше показывает сигнатуру метода и указывает, что он возвращает массив.
Комментарии к коду:
- Метод
get_test_page_cache()выполняет тест на доступность полного кэша страницы.
Метод get_test_page_cache() возвращает результат теста в виде массива.
Для информации: array — результат теста.
get_test_persistent_object_cache()
Метод get_test_persistent_object_cache() класса WP_Site_Health используется для проверки, использует ли сайт постоянный кэш объектов, и рекомендует его использование, если это не так. Он выполняет тест, чтобы определить, настроен ли постоянный кэш объектов на сайте, и возвращает результат теста.
WP_Site_Health::get_test_persistent_object_cache(): array Метод get_test_persistent_object_cache() вызывается статически, используя имя класса WP_Site_Health и оператор двойного двоеточия. Он не принимает никаких аргументов. Метод возвращает массив, содержащий результат теста.
Метод get_test_persistent_object_cache() возвращает массив, содержащий результат теста. Результат теста может быть использован для определения того, использует ли сайт постоянный кэш объектов или нет.
get_test_php_default_timezone()
Метод get_test_php_default_timezone() класса WP_Site_Health используется для проверки, установлена ли PHP-переменная по умолчанию для часового пояса в UTC. Он выполняет тест, чтобы убедиться, что сервер правильно настроен для работы с временными зонами в WordPress.
WP_Site_Health::get_test_php_default_timezone(): array
Метод get_test_php_default_timezone() не принимает никаких аргументов. Он вызывается статически, используя имя класса WP_Site_Health и метода get_test_php_default_timezone(). Метод возвращает массив с результатами теста.
Метод get_test_php_default_timezone() возвращает массив с результатами теста. Результаты теста могут быть следующими:
'label': Метка для отображения результата теста.'status': Статус теста, который может быть ‘good’ (хорошо), ‘recommended’ (рекомендуется) или ‘critical’ (критический).'badge': Значок, который отображает статус теста.'description': Описание результата теста.'actions': Дополнительные действия, которые могут быть предприняты для устранения проблемы.
get_test_php_extensions()
Метод get_test_php_extensions() является частью класса WP_Site_Health и используется для проверки установленных на хосте необходимых PHP-модулей.
Метод выполняет тестирование наличия требуемых PHP-модулей на сервере, чтобы убедиться, что они установлены и доступны для использования в WordPress.
WP_Site_Health::get_test_php_extensions(): array Метод get_test_php_extensions() возвращает массив.
Код метода:
/**
* Tests if required PHP modules are installed on the host.
*
* @since 5.2.0
*
* @return array List of required PHP modules and their status.
*/
public static function get_test_php_extensions() {
// Код метода
}
Метод get_test_php_extensions() возвращает массив, содержащий список требуемых PHP-модулей и их статус.
get_test_php_sessions()
Метод get_test_php_sessions() класса WP_Site_Health используется для проверки наличия активной PHP-сессии, которая может повлиять на запросы обратного вызова.
Метод проверяет, есть ли активная PHP-сессия, которая может вызвать проблемы с обратным вызовом. Он используется для определения, есть ли активная сессия, которая может помешать корректной работе WordPress.
WP_Site_Health::get_test_php_sessions(): array Метод get_test_php_sessions() возвращает массив.
Код:
/**
* Tests if there's an active PHP session that can affect loopback requests.
*
* @return array The test results.
*/
public static function get_test_php_sessions() {
// Код метода
}
Комментарии к коду:
@return array— метод возвращает массив с результатами теста.
Метод get_test_php_sessions() возвращает массив с результатами теста.
get_test_php_version()
Метод get_test_php_version() класса WP_Site_Health используется для проверки поддерживаемости указанной версии PHP.
Метод проверяет, является ли указанная версия PHP поддерживаемой, и возвращает результаты теста.
WP_Site_Health::get_test_php_version(): array
Метод get_test_php_version() вызывается статически, без создания экземпляра класса WP_Site_Health.
Метод не принимает никаких аргументов.
Результатом работы метода является массив с результатами теста.
Метод get_test_php_version() возвращает массив с результатами теста. Каждый элемент массива представляет собой информацию о поддержке определенной версии PHP.
get_test_plugin_theme_auto_updates()
Метод get_test_plugin_theme_auto_updates() класса WP_Site_Health используется для проверки настроек автоматического обновления плагинов и тем в WordPress. Он выполняет тест, чтобы убедиться, что автоматическое обновление плагинов и тем настроено правильно.
WP_Site_Health::get_test_plugin_theme_auto_updates(): array Метод get_test_plugin_theme_auto_updates() возвращает массив с результатами теста.
Код:
/**
* Tests if plugin and theme auto-updates appear to be configured correctly.
*
* @since 5.5.0
*
* @return array The test results.
*/
public function get_test_plugin_theme_auto_updates() {
// Код метода
}
Метод get_test_plugin_theme_auto_updates() возвращает массив с результатами теста. Результаты могут включать информацию о том, настроены ли автоматические обновления плагинов и тем правильно или нет.
get_test_plugin_version()
Метод get_test_plugin_version() класса WP_Site_Health используется для проверки устаревших или ненужных плагинов на сайте. Он выполняет тест, чтобы определить, являются ли плагины устаревшими или неактуальными.
WP_Site_Health::get_test_plugin_version(): array
Метод get_test_plugin_version() вызывается статически, используя имя класса WP_Site_Health и метода get_test_plugin_version(). Он не принимает никаких аргументов.
Код:
array WP_Site_Health::get_test_plugin_version()
Комментарии к коду:
Метод get_test_plugin_version() возвращает массив, содержащий результат теста.
Метод get_test_plugin_version() возвращает массив с результатом теста. Результат теста содержит информацию о том, являются ли плагины устаревшими или неактуальными.
get_test_rest_availability()
Метод get_test_rest_availability() класса WP_Site_Health используется для проверки доступности REST API.
REST API — это набор методов и протоколов, которые позволяют взаимодействовать с WordPress сайтом через HTTP-запросы.
Данный метод проверяет, доступен ли REST API на сайте. Он отправляет тестовый запрос к REST API и проверяет ответ. Если ответ получен успешно, то REST API считается доступным.
WP_Site_Health::get_test_rest_availability(): array Метод get_test_rest_availability() не принимает никаких аргументов.
Он возвращает массив с результатами теста.
Код:
/**
* Tests if the REST API is accessible.
*
* @return array The test results.
*/
public function get_test_rest_availability() {
// Код метода
}
Метод get_test_rest_availability() возвращает массив с результатами теста. Результаты могут включать информацию о доступности REST API и другие детали, связанные с тестом.
get_test_scheduled_events()
Метод get_test_scheduled_events() является частью класса WP_Site_Health и используется для проверки запуска запланированных событий в WordPress.
Этот метод тестирует, работают ли запланированные события так, как задумано. Он проверяет, что все запланированные события выполняются вовремя и без ошибок.
WP_Site_Health::get_test_scheduled_events(): array Метод get_test_scheduled_events() не принимает никаких аргументов.
Он вызывается статически, используя имя класса WP_Site_Health и оператор двойного двоеточия ::.
Метод возвращает массив с результатами теста.
Метод get_test_scheduled_events() возвращает массив с результатами теста. Каждый элемент массива содержит информацию о запланированном событии, его статусе и результате выполнения.
get_test_sql_server()
Метод get_test_sql_server() является частью класса WP_Site_Health и используется для проверки актуальности SQL-сервера. Он выполняет тестирование SQL-сервера и возвращает результаты проверки.
WP_Site_Health::get_test_sql_server(): array Метод get_test_sql_server() вызывается статически, без создания экземпляра класса WP_Site_Health. Он не принимает никаких аргументов.
Код:
/**
* Tests if the SQL server is up to date.
*
* @return array The test results.
*/
public static function get_test_sql_server() {
// Код метода
} Метод get_test_sql_server() возвращает массив с результатами тестирования SQL-сервера. Результаты могут содержать информацию о статусе и актуальности SQL-сервера.
get_test_ssl_support()
Метод get_test_ssl_support() является частью класса WP_Site_Health и используется для проверки возможности обработки запросов SSL/TLS через HTTP API.
Данный метод проверяет, может ли HTTP API обрабатывать запросы SSL/TLS. Он осуществляет тестовый запрос с использованием SSL/TLS и возвращает результат теста.
WP_Site_Health::get_test_ssl_support(); Метод get_test_ssl_support() вызывается статически, без создания экземпляра класса WP_Site_Health. Он не принимает никаких аргументов.
Код выше вызывает метод get_test_ssl_support() и возвращает результат теста в виде массива.
Метод get_test_ssl_support() возвращает результат теста в виде массива. Результат теста указывает, может ли HTTP API обрабатывать запросы SSL/TLS.
get_test_theme_version()
Метод get_test_theme_version() является частью класса WP_Site_Health и используется для проверки актуальности и необходимости тем в WordPress.
Данный метод проверяет, являются ли темы устаревшими или не нужными.
WP_Site_Health::get_test_theme_version(): array
Метод get_test_theme_version() вызывается статически, без создания экземпляра класса WP_Site_Health. Он не принимает никаких аргументов.
Данный метод возвращает массив с результатами теста.
Код:
array(
'label' => __( 'Theme Versions' ),
'test' => 'get_test_theme_version',
'label_fail' => __( 'Update your themes' ),
'status' => 'good',
'badge' => array(
'label' => __( 'Themes' ),
'color' => 'blue',
'icon' => 'yes',
),
)
Комментарии к коду:
label— метка для отображения в результатах теста;test— имя метода, который выполняет тест;label_fail— метка для отображения в случае неудачного теста;status— статус теста (успешно или неудачно);badge— значок, отображаемый в результатах теста, содержит метку, цвет и иконку.
Метод get_test_theme_version() возвращает массив с результатами теста. Каждый элемент массива содержит информацию о тесте, включая метку, имя метода, метку для неудачного теста, статус и значок.
get_test_update_temp_backup_writable()
Метод get_test_update_temp_backup_writable() класса WP_Site_Health используется для проверки, являются ли временные каталоги резервного копирования плагинов и тем доступными для записи или могут быть созданы.
WP_Site_Health::get_test_update_temp_backup_writable(): array Метод get_test_update_temp_backup_writable() возвращает массив с результатами теста.
Метод get_test_update_temp_backup_writable() возвращает массив с результатами теста. Результаты теста представлены в виде массива.
get_test_utf8mb4_support()
Метод get_test_utf8mb4_support() класса WP_Site_Health используется для проверки возможности использования utf8mb4 на сервере базы данных. Utf8mb4 — это расширение набора символов utf8, которое позволяет хранить символы Unicode, включая эмодзи и другие символы, которые не могут быть представлены в стандартном utf8.
WP_Site_Health::get_test_utf8mb4_support(); Метод вызывается статически, без создания экземпляра класса WP_Site_Health. Он возвращает массив с результатами теста.
Метод get_test_utf8mb4_support() возвращает массив с результатами теста. Каждый элемент массива содержит информацию о конкретном аспекте проверки utf8mb4. Например, результаты могут включать информацию о поддержке utf8mb4 в таблицах базы данных, в кодировке соединения и в индексах.
get_test_wordpress_version()
Метод get_test_wordpress_version() является частью класса WP_Site_Health и используется для проверки версии WordPress и ее вывода.
Метод проверяет текущую установленную версию WordPress и возвращает результат теста.
WP_Site_Health::get_test_wordpress_version(); Этот код используется для вызова метода get_test_wordpress_version() класса WP_Site_Health.
Метод не принимает никаких аргументов.
Метод get_test_wordpress_version() возвращает результат теста в виде массива.
Результат теста представляет собой информацию о версии WordPress.
has_late_cron()
Метод has_late_cron() является частью класса WP_Site_Health и используется для проверки, есть ли запланированные задачи, которые выполняются с опозданием.
Он проверяет, есть ли установленные задачи, которые должны были быть выполнены в определенное время, но по какой-то причине не были запущены. Если есть такие задачи, метод возвращает значение true, в противном случае — false.
WP_Site_Health::has_late_cron(): bool|WP_Error Метод has_late_cron() не принимает никаких аргументов.
Он возвращает либо значение true, если есть запланированные задачи, которые выполняются с опозданием, либо значение false, если таких задач нет.
В случае возникновения ошибки, связанной с cron, метод возвращает объект класса WP_Error.
Метод has_late_cron() возвращает значение типа bool или объект класса WP_Error.
Если возвращается значение true, это означает, что есть запланированные задачи, которые выполняются с опозданием. В случае возвращения значения false задачи выполняются вовремя.
Если возникает ошибка, связанная с cron, метод возвращает объект класса WP_Error.
has_missed_cron()
Метод has_missed_cron() является частью класса WP_Site_Health, который используется для проверки состояния сайта на основе среды WordPress пользователя.
Данный метод проверяет, были ли пропущены какие-либо запланированные задачи (cron). Он анализирует список запланированных задач и проверяет, были ли они выполнены в указанное время. Если какая-либо задача была пропущена, метод возвращает значение true, в противном случае — false.
WP_Site_Health::has_missed_cron(): bool|WP_Error Метод has_missed_cron() возвращает либо значение типа bool, либо объект класса WP_Error.
Значение типа bool возвращается, если какая-либо задача cron была пропущена. В этом случае метод возвращает true.
Объект класса WP_Error возвращается, если cron установлен на это значение. Это означает, что cron не настроен для проверки пропущенных задач.
Метод has_missed_cron() возвращает значение типа bool или объект класса WP_Error.
Значение типа bool возвращается, если какая-либо задача cron была пропущена. В этом случае метод возвращает true.
Объект класса WP_Error возвращается, если cron установлен на это значение. Это означает, что cron не настроен для проверки пропущенных задач.
is_development_environment()
Метод is_development_environment() является частью класса WP_Site_Health и предназначен для проверки текущего типа окружения WordPress на значение «development» или «local».
Метод проверяет, установлено ли текущее окружение в «development» или «local». Если это так, то метод возвращает значение true, в противном случае — false.
WP_Site_Health::is_development_environment() Вызов данного метода позволяет проверить, является ли текущее окружение разработкой или локальным окружением. Метод возвращает логическое значение true или false.
Метод is_development_environment() возвращает логическое значение. Если текущее окружение является разработкой или локальным окружением, метод вернет true. В противном случае, метод вернет false.
maybe_create_scheduled_event()
Метод maybe_create_scheduled_event() является методом класса WP_Site_Health. Он создает еженедельное событие cron, если таковое еще не существует.
WP_Site_Health::maybe_create_scheduled_event() Метод maybe_create_scheduled_event() не принимает аргументов.
Этот метод используется для создания еженедельного события cron, которое проверяет состояние сайта и выполняет необходимые действия для поддержания его здоровья. Если такое событие уже существует, метод ничего не делает.
Создание еженедельного события cron позволяет регулярно проверять состояние сайта и принимать меры по его улучшению или исправлению проблем. Это особенно полезно для поддержания высокой производительности и безопасности сайта.
perform_test()
Метод perform_test() является частью класса WP_Site_Health и предназначен для запуска теста состояния сайта. Он позволяет проверить различные аспекты окружения WordPress и вернуть результаты теста.
WP_Site_Health::perform_test( callable $callback ): mixed|void Метод perform_test() принимает один обязательный параметр $callback, который является функцией обратного вызова. Эта функция будет вызвана во время выполнения теста и может использоваться для дополнительной обработки результатов.
$callback callable (обязательно) — Функция обратного вызова, которая будет вызвана во время выполнения теста. Она должна быть определена пользователем и принимать один аргумент — массив результатов теста.
Метод perform_test() может возвращать смешанный тип данных (mixed) или ничего (void).
<code>$callback = function( $results ) {
// Дополнительная обработка результатов теста
// ...
};
WP_Site_Health::perform_test( $callback );</code> В приведенном выше примере кода создается функция обратного вызова $callback, которая принимает массив результатов теста в качестве аргумента. Затем метод perform_test() вызывается с этой функцией обратного вызова в качестве параметра.
prepare_sql_data()
Метод prepare_sql_data() является методом класса WP_Site_Health, который предназначен для подготовки данных перед выполнением SQL-запросов. Он используется для обработки и экранирования данных, чтобы предотвратить возможность SQL-инъекций и других безопасностных уязвимостей.
Метод prepare_sql_data() принимает один параметр — данные, которые необходимо подготовить. Он возвращает подготовленные данные, готовые для использования в SQL-запросах.
WP_Site_Health::prepare_sql_data( $data ); В приведенном выше коде $data — это данные, которые требуется подготовить перед выполнением SQL-запросов.
Метод prepare_sql_data() принимает данные и применяет к ним необходимые экранирования и обработку, чтобы предотвратить возможность SQL-инъекций и других безопасностных уязвимостей. Затем он возвращает подготовленные данные, которые можно использовать в SQL-запросах без риска возникновения ошибок или уязвимостей.
Рекомендуется использовать метод prepare_sql_data() при работе с данными, которые будут использоваться в SQL-запросах, чтобы обеспечить безопасность и надежность вашего кода.
should_suggest_persistent_object_cache()
Метод should_suggest_persistent_object_cache() класса WP_Site_Health используется для определения, следует ли предложить использовать постоянный кэш объектов.
Метод проверяет, установлен ли постоянный кэш объектов на сервере, и основываясь на этой информации, определяет, следует ли предложить его использование. Постоянный кэш объектов может значительно улучшить производительность WordPress, особенно на сайтах с большим трафиком или на сайтах, где выполняются сложные запросы к базе данных.
WP_Site_Health::should_suggest_persistent_object_cache(): bool Метод should_suggest_persistent_object_cache() является статическим методом класса WP_Site_Health. Он не принимает никаких аргументов и возвращает логическое значение true или false.
Данный метод может быть вызван напрямую без создания экземпляра класса WP_Site_Health.
Пример использования:
$should_suggest = WP_Site_Health::should_suggest_persistent_object_cache();
if ($should_suggest) {
// Предложить использование постоянного кэша объектов
} else {
// Не предлагать использование постоянного кэша объектов
}
Метод should_suggest_persistent_object_cache() возвращает логическое значение (bool), указывающее, следует ли предложить использовать постоянный кэш объектов. Если метод возвращает true, то следует предложить использование постоянного кэша объектов. Если метод возвращает false, то не следует предлагать использование постоянного кэша объектов.
show_site_health_tab()
Метод show_site_health_tab() является частью класса WP_Site_Health и используется для вывода содержимого вкладки на экране «Site Health». Он отображает информацию о состоянии сайта и его компонентах, таких как темы, плагины, сервер и база данных.
WP_Site_Health::show_site_health_tab( string $tab ) Метод show_site_health_tab() принимает один обязательный параметр:
$tab(string) — Обязательный параметр, представляющий слаг текущей отображаемой вкладки.
$tab (string) — Обязательный параметр, представляющий слаг текущей отображаемой вкладки. Слаг — это уникальный идентификатор вкладки, который используется для определения, какое содержимое нужно отобразить на экране «Site Health».
/**
* Пример использования метода show_site_health_tab()
*
* @param string $tab Слаг текущей отображаемой вкладки.
*/
WP_Site_Health::show_site_health_tab( $tab );
В данном примере метод show_site_health_tab() вызывается с передачей параметра $tab, который представляет слаг текущей отображаемой вкладки. Этот метод отображает содержимое вкладки на экране «Site Health».
test_php_extension_availability()
Метод test_php_extension_availability() класса WP_Site_Health используется для проверки доступности указанного расширения или функции PHP. Он проверяет, установлено ли указанное расширение или функция в текущей среде WordPress.
WP_Site_Health::test_php_extension_availability( string $extension_name = null, string $function_name = null, string $constant_name = null, string $class_name = null ): bool Метод test_php_extension_availability() принимает четыре необязательных параметра: $extension_name, $function_name, $constant_name и $class_name. Он возвращает логическое значение true, если указанное расширение или функция доступны, и false в противном случае.
$extension_name (строка, необязательно): Имя расширения для проверки. По умолчанию: null.
$function_name (строка, необязательно): Имя функции для проверки. По умолчанию: null.
$constant_name (строка, необязательно): Имя константы для проверки. По умолчанию: null.
$class_name (строка, необязательно): Имя класса для проверки. По умолчанию: null.
Метод test_php_extension_availability() возвращает логическое значение (true или false), указывающее, доступно ли указанное расширение или функция.
<?php
/**
* Пример использования метода test_php_extension_availability()
*/
$result = WP_Site_Health::test_php_extension_availability(
$extension_name = 'gd',
$function_name = 'imagecreate',
$constant_name = 'WP_DEBUG',
$class_name = 'WP_Query'
);
if ($result) {
echo 'Расширение или функция доступны.';
} else {
echo 'Расширение или функция недоступны.';
}
?> В этом примере мы используем метод test_php_extension_availability() для проверки доступности расширения gd, функции imagecreate, константы WP_DEBUG и класса WP_Query. Затем мы выводим сообщение в зависимости от результата проверки.
wp_cron_scheduled_check()
Метод wp_cron_scheduled_check() является частью класса WP_Site_Health и предназначен для запуска запланированного события проверки и обновления последнего состояния здоровья сайта.
Данный метод используется для проверки и обновления информации о состоянии здоровья сайта. Он запускается по расписанию и выполняет необходимые действия для обновления статуса здоровья сайта.
Метод wp_cron_scheduled_check() работает следующим образом:
- По расписанию запускается событие, которое вызывает метод
wp_cron_scheduled_check(). - Метод проверяет текущее состояние здоровья сайта и обновляет его статус.
- В случае необходимости, метод выполняет дополнительные действия для исправления проблем, связанных со здоровьем сайта.
WP_Site_Health::wp_cron_scheduled_check(); Выше приведен код, который вызывает метод wp_cron_scheduled_check() класса WP_Site_Health.
Данный метод не требует передачи аргументов и может быть вызван в любом месте кода, где доступен класс WP_Site_Health.
Метод wp_cron_scheduled_check() выполняет проверку и обновление состояния здоровья сайта, основываясь на текущем окружении WordPress.
wp_schedule_test_init()
Метод wp_schedule_test_init() является частью класса WP_Site_Health и предназначен для инициализации тестов расписания WP_Cron.
WP_Cron — это система планирования событий в WordPress, которая позволяет выполнять определенные задачи в заданное время или с определенной периодичностью. Метод wp_schedule_test_init() запускает тестовые случаи для проверки работоспособности расписания WP_Cron.
WP_Site_Health::wp_schedule_test_init(); Вызов метода wp_schedule_test_init() осуществляется статически, через класс WP_Site_Health.
Данный метод не принимает никаких аргументов.
При вызове метода происходит инициализация тестовых случаев для проверки работы расписания WP_Cron.
Результаты тестов будут отображены в разделе «Здоровье сайта» (Site Health) в административной панели WordPress.
__construct()
Метод «__construct()» является конструктором класса «WP_Site_Health» и вызывается при создании нового объекта этого класса. Он используется для инициализации свойств объекта и выполнения других необходимых действий при его создании.
Конструктор «__construct()» класса «WP_Site_Health» не принимает никаких аргументов.
Этот метод работает следующим образом:
1. Создает новый объект класса «WP_Site_Health».
2. Инициализирует свойства объекта, устанавливая им значения по умолчанию.
3. Выполняет необходимые действия для проверки состояния сайта на основе окружения WordPress пользователя.
4. Возвращает созданный объект класса «WP_Site_Health».
WP_Site_Health::__construct();
Конструктор «__construct()» класса «WP_Site_Health» вызывается без передачи аргументов. Он автоматически выполняется при создании нового объекта класса «WP_Site_Health».
Этот код создаст новый объект класса «WP_Site_Health» и выполнит все необходимые действия для проверки состояния сайта на основе окружения WordPress пользователя.
Примеры использования
Получение списка доступных сервисов кэширования объектов
/**
* Возвращает список доступных сервисов кэширования объектов.
*
* @since 5.2.0
*
* @return array Массив доступных сервисов кэширования объектов.
*/
public function available_object_cache_services() {
// Возвращает список доступных сервисов кэширования объектов
}
Проверка наличия кэширования страниц
/**
* Проверяет, включено ли кэширование страниц на сайте.
*
* @since 5.2.0
*
* @return bool Возвращает true, если кэширование страниц включено, иначе false.
*/
public function check_for_page_caching() {
// Проверяет, включено ли кэширование страниц на сайте
}
Проверка наличия обновлений плагинов и тем
/**
* Проверяет, есть ли доступные обновления для плагинов и тем.
*
* @since 5.2.0
*
* @return array Массив с информацией о доступных обновлениях плагинов и тем.
*/
public function detect_plugin_theme_auto_update_issues() {
// Проверяет, есть ли доступные обновления для плагинов и тем
}
Тестирование доступности REST API
/**
* Проверяет доступность REST API.
*
* @since 5.2.0
*
* @return array Массив с информацией о доступности REST API.
*/
public function get_test_rest_availability() {
// Проверяет доступность REST API
}
Проверка работы запланированных событий
/**
* Проверяет работу запланированных событий.
*
* @since 5.2.0
*
* @return array Массив с информацией о работе запланированных событий.
*/
public function get_test_scheduled_events() {
// Проверяет работу запланированных событий
}
Вопросы и ответы
Как проверить здоровье сайта с помощью класса WP_Site_Health?
Для проверки здоровья сайта с использованием класса WP_Site_Health необходимо создать экземпляр этого класса с помощью метода get_instance(). Затем можно вызвать метод perform_test(), передав ему необходимый тест для выполнения.
$site_health = WP_Site_Health::get_instance();
$site_health->perform_test( 'test_php_version' );
Как добавить класс к тегу body с помощью метода admin_body_class?
Метод admin_body_class() класса WP_Site_Health позволяет добавить класс к тегу body на странице административной панели WordPress. Для этого необходимо вызвать этот метод.
$site_health = WP_Site_Health::get_instance();
$site_health->admin_body_class();
Как получить список доступных сервисов постоянного кэширования объектов?
Метод available_object_cache_services() класса WP_Site_Health возвращает список доступных сервисов постоянного кэширования объектов. Для получения этого списка необходимо вызвать этот метод.
$site_health = WP_Site_Health::get_instance();
$object_cache_services = $site_health->available_object_cache_services();
Как запустить тест обратного вызова на сайте?
Метод can_perform_loopback() класса WP_Site_Health выполняет тест обратного вызова на сайте. Для запуска этого теста необходимо вызвать этот метод.
$site_health = WP_Site_Health::get_instance();
$site_health->can_perform_loopback();
Как проверить, включено ли кэширование страниц на сайте?
Метод check_for_page_caching() класса WP_Site_Health проверяет, включено ли кэширование страниц на сайте. Для проверки необходимо вызвать этот метод.
$site_health = WP_Site_Health::get_instance();
$site_health->check_for_page_caching();
Как проверить, блокируется ли функция wp_version_check?
Метод check_wp_version_check_exists() класса WP_Site_Health проверяет, блокируется ли функция wp_version_check. Для проверки необходимо вызвать этот метод.
$site_health = WP_Site_Health::get_instance();
$site_health->check_wp_version_check_exists();
Как добавить скрипты для проверки здоровья сайта?
Метод enqueue_scripts() класса WP_Site_Health добавляет скрипты для проверки здоровья сайта. Для добавления скриптов необходимо вызвать этот метод.
$site_health = WP_Site_Health::get_instance();
$site_health->enqueue_scripts();
Как получить список задач cron?
Метод get_cron_tasks() класса WP_Site_Health заполняет список задач cron и сохраняет их в переменной класса. Для получения списка задач необходимо вызвать этот метод.
$site_health = WP_Site_Health::get_instance();
$cron_tasks = $site_health->get_cron_tasks();
Как определить порог времени отклика для считания его хорошим?
Метод get_good_response_time_threshold() класса WP_Site_Health возвращает пороговое значение времени отклика, ниже которого время считается хорошим. Для получения этого значения необходимо вызвать этот метод.
$site_health = WP_Site_Health::get_instance();
$good_response_time_threshold = $site_health->get_good_response_time_threshold();
Как получить подробности о кэшировании страницы?
Метод get_page_cache_detail() класса WP_Site_Health возвращает подробности о кэшировании страницы. Для получения этих подробностей необходимо вызвать этот метод.
$site_health = WP_Site_Health::get_instance();
$page_cache_detail = $site_health->get_page_cache_detail();
Как получить список заголовков и их проверочные функции для проверки включено ли кэширование страницы?
Метод get_page_cache_headers() класса WP_Site_Health возвращает список заголовков и соответствующие им функции проверки для проверки включено ли кэширование страницы. Для получения этого списка необходимо вызвать этот метод.
$site_health = WP_Site_Health::get_instance();
$page_cache_headers = $site_health->get_page_cache_headers();
Как протестировать заголовок авторизации на наличие ожидаемых значений?
Метод get_test_authorization_header() класса WP_Site_Health тестирует заголовок авторизации на наличие ожидаемых значений. Для выполнения этого теста необходимо вызвать этот метод.
$site_health = WP_Site_Health::get_instance();
$site_health->get_test_authorization_header();
Как протестировать доступное дисковое пространство для обновлений?
Метод get_test_available_updates_disk_space() класса WP_Site_Health тестирует доступное дисковое пространство для обновлений. Для выполнения этого теста необходимо вызвать этот метод.
$site_health = WP_Site_Health::get_instance();
$site_health->get_test_available_updates_disk_space();
Как протестировать возможность автоматических фоновых обновлений WordPress?
Для тестирования возможности автоматических фоновых обновлений WordPress можно использовать метод get_test_background_updates() класса WP_Site_Health. Этот метод проверяет, может ли WordPress выполнять автоматические фоновые обновления.
$site_health = WP_Site_Health::get_instance();
$background_updates = $site_health->get_test_background_updates();
if ( $background_updates['result'] ) {
echo 'Автоматические фоновые обновления включены.';
} else {
echo 'Автоматические фоновые обновления отключены.';
}
Как протестировать связь с WordPress.org?
Для тестирования связи с WordPress.org можно использовать метод get_test_dotorg_communication() класса WP_Site_Health. Этот метод проверяет, может ли сайт связываться с WordPress.org.
$site_health = WP_Site_Health::get_instance();
$dotorg_communication = $site_health->get_test_dotorg_communication();
if ( $dotorg_communication['result'] ) {
echo 'Связь с WordPress.org установлена.';
} else {
echo 'Связь с WordPress.org не установлена.';
}
Как протестировать, отключена ли директива ‘file_uploads’ в PHP.ini?
Для тестирования отключения директивы ‘file_uploads’ в PHP.ini можно использовать метод get_test_file_uploads() класса WP_Site_Health. Этот метод проверяет, отключена ли возможность загрузки файлов на сервер.
$site_health = WP_Site_Health::get_instance();
$file_uploads = $site_health->get_test_file_uploads();
if ( $file_uploads['result'] ) {
echo 'Директива 'file_uploads' в PHP.ini отключена.';
} else {
echo 'Директива 'file_uploads' в PHP.ini включена.';
}
Как протестировать, блокируются ли HTTP-запросы?
Для тестирования блокировки HTTP-запросов можно использовать метод get_test_http_requests() класса WP_Site_Health. Этот метод проверяет, блокируются ли HTTP-запросы на сайте.
$site_health = WP_Site_Health::get_instance();
$http_requests = $site_health->get_test_http_requests();
if ( $http_requests['result'] ) {
echo 'HTTP-запросы не блокируются.';
} else {
echo 'HTTP-запросы блокируются.';
}
Как протестировать, обслуживается ли сайт по HTTPS?
Для тестирования обслуживания сайта по HTTPS можно использовать метод get_test_https_status() класса WP_Site_Health. Этот метод проверяет, обслуживается ли сайт по HTTPS.
$site_health = WP_Site_Health::get_instance();
$https_status = $site_health->get_test_https_status();
if ( $https_status['result'] ) {
echo 'Сайт обслуживается по HTTPS.';
} else {
echo 'Сайт не обслуживается по HTTPS.';
}
Как протестировать, включена ли отладочная информация?
Для тестирования включения отладочной информации можно использовать метод get_test_is_in_debug_mode() класса WP_Site_Health. Этот метод проверяет, включена ли отладочная информация на сайте.
$site_health = WP_Site_Health::get_instance();
$is_in_debug_mode = $site_health->get_test_is_in_debug_mode();
if ( $is_in_debug_mode['result'] ) {
echo 'Отладочная информация включена.';
} else {
echo 'Отладочная информация отключена.';
}
Как протестировать, работают ли обратные вызовы?
Для тестирования работы обратных вызовов можно использовать метод get_test_loopback_requests() класса WP_Site_Health. Этот метод проверяет, работают ли обратные вызовы на сайте.
$site_health = WP_Site_Health::get_instance();
$loopback_requests = $site_health->get_test_loopback_requests();
if ( $loopback_requests['result'] ) {
echo 'Обратные вызовы работают.';
} else {
echo 'Обратные вызовы не работают.';
}
Как протестировать, доступен ли полный кэш страницы?
Для тестирования доступности полного кэша страницы можно использовать метод get_test_page_cache() класса WP_Site_Health. Этот метод проверяет, доступен ли полный кэш страницы на сайте.
$site_health = WP_Site_Health::get_instance();
$page_cache = $site_health->get_test_page_cache();
if ( $page_cache['result'] ) {
echo 'Полный кэш страницы доступен.';
} else {
echo 'Полный кэш страницы недоступен.';
}
Как протестировать, установлено ли PHP-среде по умолчанию время UTC?
Для тестирования установки PHP-среде по умолчанию времени UTC можно использовать метод get_test_php_default_timezone() класса WP_Site_Health. Этот метод проверяет, установлено ли время UTC в PHP-среде.
$site_health = WP_Site_Health::get_instance();
$php_default_timezone = $site_health->get_test_php_default_timezone();
if ( $php_default_timezone['result'] ) {
echo 'Время UTC установлено в PHP-среде по умолчанию.';
} else {
echo 'Время UTC не установлено в PHP-среде по умолчанию.';
}
Как протестировать, установлены ли необходимые модули PHP на хосте?
Для тестирования установки необходимых модулей PHP на хосте можно использовать метод get_test_php_extensions() класса WP_Site_Health. Этот метод проверяет, установлены ли необходимые модули PHP на хосте.
$site_health = WP_Site_Health::get_instance();
$php_extensions = $site_health->get_test_php_extensions();
if ( $php_extensions['result'] ) {
echo 'Необходимые модули PHP установлены на хосте.';
} else {
echo 'Необходимые модули PHP не установлены на хосте.';
}
Как протестировать, есть ли активная PHP-сессия, которая может повлиять на обратные вызовы?
Для тестирования наличия активной PHP-сессии, которая может повлиять на обратные вызовы, можно использовать метод get_test_php_sessions() класса WP_Site_Health. Этот метод проверяет, есть ли активная PHP-сессия на сайте.
$site_health = WP_Site_Health::get_instance();
$php_sessions = $site_health->get_test_php_sessions();
if ( $php_sessions['result'] ) {
echo 'Есть активная PHP-сессия, которая может повлиять на обратные вызовы.';
} else {
echo 'Нет активной PHP-сессии, которая может повлиять на обратные вызовы.';
}
Как протестировать, поддерживается ли указанная версия PHP?
Для тестирования поддержки указанной версии PHP можно использовать метод get_test_php_version() класса WP_Site_Health. Этот метод проверяет, поддерживается ли указанная версия PHP на сайте.
$site_health = WP_Site_Health::get_instance();
$php_version = $site_health->get_test_php_version();
if ( $php_version['result'] ) {
echo 'Указанная версия PHP поддерживается.';
} else {
echo 'Указанная версия PHP не поддерживается.';
}
Как протестировать доступность REST API?
Для тестирования доступности REST API можно использовать метод get_test_rest_availability() класса WP_Site_Health. Этот метод проверяет, доступно ли REST API на сайте.
$site_health = WP_Site_Health::get_instance();
$rest_availability = $site_health->get_test_rest_availability();
if ( $rest_availability['result'] ) {
echo 'REST API доступно.';
} else {
echo 'REST API недоступно.';
}
Класс WP_Site_Health
Класс WP_Site_Health представляет собой инструмент для проверки состояния сайта на основе окружения WordPress пользователя.
Как протестировать, выполняются ли запланированные события?
Для проверки выполнения запланированных событий можно использовать метод has_late_cron(). Он возвращает true, если есть запланированные задачи, которые запускаются с опозданием, и false в противном случае.
$site_health = WP_Site_Health::get_instance();
if ($site_health->has_late_cron()) {
echo 'Запланированные задачи запускаются с опозданием.';
} else {
echo 'Запланированные задачи выполняются вовремя.';
}
Как протестировать, актуален ли SQL-сервер?
Для проверки актуальности SQL-сервера можно использовать метод get_test_sql_server(). Он выполняет проверку и возвращает результат в виде строки.
$site_health = WP_Site_Health::get_instance();
$result = $site_health->get_test_sql_server();
echo $result;
Как проверить поддержку SSL в HTTP API?
Для проверки поддержки SSL в HTTP API можно использовать метод get_test_ssl_support(). Он выполняет тест и возвращает результат в виде строки.
$site_health = WP_Site_Health::get_instance();
$result = $site_health->get_test_ssl_support();
echo $result;
Как протестировать версию темы?
Для проверки версии темы можно использовать метод get_test_theme_version(). Он выполняет тест и возвращает результат в виде строки.
$site_health = WP_Site_Health::get_instance();
$result = $site_health->get_test_theme_version();
echo $result;
Как протестировать поддержку utf8mb4 базой данных?
Для проверки поддержки utf8mb4 базой данных можно использовать метод get_test_utf8mb4_support(). Он выполняет тест и возвращает результат в виде строки.
$site_health = WP_Site_Health::get_instance();
$result = $site_health->get_test_utf8mb4_support();
echo $result;
Как протестировать версию WordPress?
Для проверки версии WordPress можно использовать метод get_test_wordpress_version(). Он выполняет тест и выводит результат.
$site_health = WP_Site_Health::get_instance();
$site_health->get_test_wordpress_version();
Как получить набор тестов, относящихся к странице состояния сайта?
Для получения набора тестов, относящихся к странице состояния сайта, можно использовать метод get_tests(). Он возвращает массив тестов, которые могут быть выполнены.
$site_health = WP_Site_Health::get_instance();
$tests = $site_health->get_tests();
foreach ($tests as $test) {
echo $test;
}
Как проверить, есть ли запланированные задачи, которые запускаются с опозданием?
Для проверки наличия запланированных задач, которые запускаются с опозданием, можно использовать метод has_late_cron(). Он возвращает true, если такие задачи есть, и false в противном случае.
$site_health = WP_Site_Health::get_instance();
if ($site_health->has_late_cron()) {
echo 'Есть запланированные задачи, которые запускаются с опозданием.';
} else {
echo 'Нет запланированных задач, которые запускаются с опозданием.';
}
Как проверить, есть ли пропущенные запланированные задачи?
Для проверки наличия пропущенных запланированных задач можно использовать метод has_missed_cron(). Он возвращает true, если есть пропущенные задачи, и false в противном случае.
$site_health = WP_Site_Health::get_instance();
if ($site_health->has_missed_cron()) {
echo 'Есть пропущенные запланированные задачи.';
} else {
echo 'Нет пропущенных запланированных задач.';
}
Как проверить, установлено ли текущее окружение как ‘development’ или ‘local’?
Для проверки установки текущего окружения как ‘development’ или ‘local’ можно использовать метод is_development_environment(). Он возвращает true, если текущее окружение установлено как ‘development’ или ‘local’, и false в противном случае.
$site_health = WP_Site_Health::get_instance();
if ($site_health->is_development_environment()) {
echo 'Текущее окружение установлено как 'development' или 'local'.';
} else {
echo 'Текущее окружение не установлено как 'development' или 'local'.';
}
Как создать еженедельное событие cron, если оно еще не существует?
Для создания еженедельного события cron, если оно еще не существует, можно использовать метод maybe_create_scheduled_event(). Он создает событие, если оно не существует.
$site_health = WP_Site_Health::get_instance();
$site_health->maybe_create_scheduled_event();
Как запустить тест здоровья сайта непосредственно?
Для запуска теста здоровья сайта непосредственно можно использовать метод perform_test(). Он запускает тест и выводит результат.
$site_health = WP_Site_Health::get_instance();
$site_health->perform_test();
Как подготовить данные SQL для проверки версии?
Для подготовки данных SQL для проверки версии можно использовать метод prepare_sql_data(). Он выполняет подготовку данных и возвращает результат в виде строки.
$site_health = WP_Site_Health::get_instance();
$result = $site_health->prepare_sql_data();
echo $result;
Когда рекомендуется использовать постоянный кэш объектов?
Использование постоянного кэша объектов рекомендуется, когда его нет. Для проверки необходимости использования постоянного кэша объектов можно использовать метод should_suggest_persistent_object_cache(). Он возвращает true, если рекомендуется использовать постоянный кэш объектов, и false в противном случае.
$site_health = WP_Site_Health::get_instance();
if ($site_health->should_suggest_persistent_object_cache()) {
echo 'Рекомендуется использовать постоянный кэш объектов.';
} else {
echo 'Постоянный кэш объектов не требуется.';
}
Как вывести вкладку здоровья сайта?
Для вывода вкладки здоровья сайта можно использовать метод show_site_health_tab(). Он выводит содержимое вкладки на экран.
$site_health = WP_Site_Health::get_instance();
$site_health->show_site_health_tab();
Класс
WP_Site_Healthпредоставляет различные методы для проверки состояния сайта на основе окружения WordPress. Он позволяет проверить выполнение запланированных событий, актуальность SQL-сервера, поддержку SSL в HTTP API, версию темы, поддержку utf8mb4 базой данных, версию WordPress и другие аспекты здоровья сайта. Класс также предоставляет возможность получить набор тестов, относящихся к странице состояния сайта, и проверить наличие запланированных задач, которые запускаются с опозданием или пропущенных задач. Кроме того, класс позволяет проверить, установлено ли текущее окружение как ‘development’ или ‘local’, создать еженедельное событие cron, если оно еще не существует, запустить тест здоровья сайта непосредственно, подготовить данные SQL для проверки версии и определить, когда рекомендуется использовать постоянный кэш объектов. Для вывода вкладки здоровья сайта можно использовать соответствующий метод.