函数文档

rest_sanitize_request_arg()

💡 云策文档标注

概述

rest_sanitize_request_arg() 是 WordPress REST API 中的一个函数,用于根据路由注册的参数详情对请求参数进行清理。它通过调用 rest_sanitize_value_from_schema() 实现基于 JSON Schema 的验证和清理。

关键要点

  • 函数签名:rest_sanitize_request_arg( $value, $request, $param ),接受参数值、WP_REST_Request 对象和参数名。
  • 工作原理:从请求属性中获取参数定义,如果未定义或不是数组则直接返回原值,否则使用 rest_sanitize_value_from_schema() 进行清理。
  • 依赖关系:与 rest_sanitize_value_from_schema() 和 rest_parse_request_arg() 相关,常用于 REST API 端点参数处理。
  • 版本历史:自 WordPress 4.7.0 版本引入。

代码示例

function rest_sanitize_request_arg( $value, $request, $param ) {
    $attributes = $request->get_attributes();
    if ( ! isset( $attributes['args'][ $param ] ) || ! is_array( $attributes['args'][ $param ] ) ) {
        return $value;
    }
    $args = $attributes['args'][ $param ];

    return rest_sanitize_value_from_schema( $value, $args, $param );
}

📄 原文内容

Sanitize a request argument based on details registered to the route.

Parameters

$valuemixedrequired
$requestWP_REST_Requestrequired
$paramstringrequired

Return

mixed

Source

function rest_sanitize_request_arg( $value, $request, $param ) {
	$attributes = $request->get_attributes();
	if ( ! isset( $attributes['args'][ $param ] ) || ! is_array( $attributes['args'][ $param ] ) ) {
		return $value;
	}
	$args = $attributes['args'][ $param ];

	return rest_sanitize_value_from_schema( $value, $args, $param );
}

Changelog

Version Description
4.7.0 Introduced.