函数文档

rest_parse_request_arg()

💡 云策文档标注

概述

rest_parse_request_arg() 函数用于解析 REST API 请求参数,基于路由注册的详细信息进行验证和清理。它通常作为 sanitize_callback 在端点参数注册中使用。

关键要点

  • 函数接受三个参数:$value(参数值)、$request(WP_REST_Request 对象)和 $param(参数名)。
  • 内部调用 rest_validate_request_arg() 进行验证,如果返回 WP_Error 则直接返回错误。
  • 验证通过后,调用 rest_sanitize_request_arg() 进行清理,并返回清理后的值。
  • 返回值类型为 mixed,可以是清理后的值或 WP_Error。
  • 相关函数包括 rest_validate_request_arg()、rest_sanitize_request_arg() 和 is_wp_error()。
  • 自 WordPress 4.7.0 版本引入。

代码示例

function rest_parse_request_arg( $value, $request, $param ) {
    $is_valid = rest_validate_request_arg( $value, $request, $param );

    if ( is_wp_error( $is_valid ) ) {
        return $is_valid;
    }

    $value = rest_sanitize_request_arg( $value, $request, $param );

    return $value;
}

📄 原文内容

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

Description

Runs a validation check and sanitizes the value, primarily to be used via the sanitize_callback arguments in the endpoint args registration.

Parameters

$valuemixedrequired
$requestWP_REST_Requestrequired
$paramstringrequired

Return

mixed

Source

function rest_parse_request_arg( $value, $request, $param ) {
	$is_valid = rest_validate_request_arg( $value, $request, $param );

	if ( is_wp_error( $is_valid ) ) {
		return $is_valid;
	}

	$value = rest_sanitize_request_arg( $value, $request, $param );

	return $value;
}

Changelog

Version Description
4.7.0 Introduced.