WP_REST_Request::get_parameter_order(): string[]

In this article

Retrieves the parameter priority order.

Description

Used when checking parameters in WP_REST_Request::get_param().

Return

string[] Array of types to check, in order of priority.

Source

protected function get_parameter_order() {
	$order = array();

	if ( $this->is_json_content_type() ) {
		$order[] = 'JSON';
	}

	$this->parse_json_params();

	// Ensure we parse the body data.
	$body = $this->get_body();

	if ( 'POST' !== $this->method && ! empty( $body ) ) {
		$this->parse_body_params();
	}

	$accepts_body_data = array( 'POST', 'PUT', 'PATCH', 'DELETE' );
	if ( in_array( $this->method, $accepts_body_data, true ) ) {
		$order[] = 'POST';
	}

	$order[] = 'GET';
	$order[] = 'URL';
	$order[] = 'defaults';

	/**
	 * Filters the parameter priority order for a REST API request.
	 *
	 * The order affects which parameters are checked when using WP_REST_Request::get_param()
	 * and family. This acts similarly to PHP's `request_order` setting.
	 *
	 * @since 4.4.0
	 *
	 * @param string[]        $order   Array of types to check, in order of priority.
	 * @param WP_REST_Request $request The request object.
	 */
	return apply_filters( 'rest_request_parameter_order', $order, $this );
}

Hooks

apply_filters( ‘rest_request_parameter_order’, string[] $order, WP_REST_Request $request )

Filters the parameter priority order for a REST API request.

Changelog

VersionDescription
4.4.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.