wp_ajax_health_check_loopback_requests()
云策文档标注
概述
此函数用于通过 AJAX 处理站点健康检查中的环回请求测试,但自 WordPress 5.6.0 起已被弃用,建议使用 WP_REST_Site_Health_Controller::test_loopback_requests() 替代。
关键要点
- 函数 wp_ajax_health_check_loopback_requests() 在 WordPress 5.2.0 中引入,用于 AJAX 站点健康检查的环回请求测试。
- 自 WordPress 5.6.0 起,此函数已被弃用,核心功能已迁移到 WP_REST_Site_Health_Controller::test_loopback_requests()。
- 函数执行时,会检查 AJAX 引用和用户权限(view_site_health_checks),并返回 JSON 格式的测试结果。
代码示例
function wp_ajax_health_check_loopback_requests() {
_doing_it_wrong(
'wp_ajax_health_check_loopback_requests',
sprintf(
__( 'The Site Health check for %1$s has been replaced with %2$s.' ),
'wp_ajax_health_check_loopback_requests',
'WP_REST_Site_Health_Controller::test_loopback_requests'
),
'5.6.0'
);
check_ajax_referer( 'health-check-site-status' );
if ( ! current_user_can( 'view_site_health_checks' ) ) {
wp_send_json_error();
}
if ( ! class_exists( 'WP_Site_Health' ) ) {
require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php';
}
$site_health = WP_Site_Health::get_instance();
wp_send_json_success( $site_health->get_test_loopback_requests() );
}注意事项
- 此函数已弃用,开发者应避免在新代码中使用,转而使用 REST API 替代方案。
- 函数内部使用 _doing_it_wrong() 标记弃用,并输出相关提示信息。
- 需要确保用户具有 view_site_health_checks 权限才能执行此检查。
原文内容
Handles site health checks on loopback requests via AJAX.
Description
See also
Source
function wp_ajax_health_check_loopback_requests() {
_doing_it_wrong(
'wp_ajax_health_check_loopback_requests',
sprintf(
/* translators: 1: The Site Health action that is no longer used by core. 2: The new function that replaces it. */
__( 'The Site Health check for %1$s has been replaced with %2$s.' ),
'wp_ajax_health_check_loopback_requests',
'WP_REST_Site_Health_Controller::test_loopback_requests'
),
'5.6.0'
);
check_ajax_referer( 'health-check-site-status' );
if ( ! current_user_can( 'view_site_health_checks' ) ) {
wp_send_json_error();
}
if ( ! class_exists( 'WP_Site_Health' ) ) {
require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php';
}
$site_health = WP_Site_Health::get_instance();
wp_send_json_success( $site_health->get_test_loopback_requests() );
}
Changelog
| Version | Description |
|---|---|
| 5.6.0 | Deprecated. Use WP_REST_Site_Health_Controller::test_loopback_requests() |
| 5.2.0 | Introduced. |