wp_ajax_health_check_site_status_result()
云策文档标注
概述
该文档描述了 wp_ajax_health_check_site_status_result() 函数,这是一个用于通过 AJAX 处理站点健康检查结果更新的 WordPress 钩子函数。它验证 AJAX 请求和用户权限,并将结果存储为临时数据。
关键要点
- 函数 wp_ajax_health_check_site_status_result() 是一个 AJAX 处理函数,用于更新站点健康检查的状态结果。
- 使用 check_ajax_referer() 验证 AJAX 请求的安全性,防止外部请求。
- 检查当前用户是否具有 'view_site_health_checks' 权限,若无权限则返回 JSON 错误响应。
- 通过 set_transient() 将 POST 数据中的计数结果编码为 JSON 并存储为临时数据。
- 成功执行后,使用 wp_send_json_success() 返回 JSON 成功响应。
代码示例
function wp_ajax_health_check_site_status_result() {
check_ajax_referer( 'health-check-site-status-result' );
if ( ! current_user_can( 'view_site_health_checks' ) ) {
wp_send_json_error();
}
set_transient( 'health-check-site-status-result', wp_json_encode( $_POST['counts'] ) );
wp_send_json_success();
}注意事项
- 该函数从 WordPress 5.2.0 版本开始引入。
- 相关函数包括 set_transient()、wp_json_encode()、current_user_can()、check_ajax_referer()、wp_send_json_error() 和 wp_send_json_success(),用于数据存储、编码、权限检查和 AJAX 响应。
原文内容
Handles site health check to update the result status via AJAX.
Source
function wp_ajax_health_check_site_status_result() {
check_ajax_referer( 'health-check-site-status-result' );
if ( ! current_user_can( 'view_site_health_checks' ) ) {
wp_send_json_error();
}
set_transient( 'health-check-site-status-result', wp_json_encode( $_POST['counts'] ) );
wp_send_json_success();
}
Changelog
| Version | Description |
|---|---|
| 5.2.0 | Introduced. |