函数文档

rest_ensure_request()

💡 云策文档标注

概述

rest_ensure_request() 函数用于确保传入的参数是一个 WP_REST_Request 对象,以保持一致性。它处理数组、字符串或 WP_REST_Request 实例,并返回一个 WP_REST_Request 实例。

关键要点

  • 参数 $request 可以是数组、字符串或 WP_REST_Request 对象,且为必需。
  • 返回一个 WP_REST_Request 实例,确保后续 REST API 处理的一致性。
  • 如果 $request 是 WP_REST_Request 实例,则直接返回;如果是字符串,则创建一个 GET 请求;否则,使用数组参数创建 GET 请求。

代码示例

function rest_ensure_request( $request ) {
    if ( $request instanceof WP_REST_Request ) {
        return $request;
    }

    if ( is_string( $request ) ) {
        return new WP_REST_Request( 'GET', $request );
    }

    return new WP_REST_Request( 'GET', '', $request );
}

注意事项

  • 从 WordPress 5.3.0 开始,支持字符串参数作为请求路径。
  • 此函数自 WordPress 4.4.0 引入。

📄 原文内容

Ensures request arguments are a request object (for consistency).

Parameters

$requestarray|string|WP_REST_Requestrequired
Request to check.

Return

WP_REST_Request REST request instance.

Source

function rest_ensure_request( $request ) {
	if ( $request instanceof WP_REST_Request ) {
		return $request;
	}

	if ( is_string( $request ) ) {
		return new WP_REST_Request( 'GET', $request );
	}

	return new WP_REST_Request( 'GET', '', $request );
}

Changelog

Version Description
5.3.0 Accept string argument for the request path.
4.4.0 Introduced.