WP_REST_Request::get_parameter_order()protectedWP 4.4.0

Retrieves the parameter priority order.

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

Method of the class: WP_REST_Request{}

Hooks from the method

Return

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

Usage

// protected - for code of main (parent) or child class
$result = $this->get_parameter_order();

Changelog

Since 4.4.0 Introduced.

WP_REST_Request::get_parameter_order() code WP 6.5.2

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 );
}