WP_REST_Request::get_parameter_order()

Retrieves the parameter priority order.


Description

Used when checking parameters in get_param().


Return

(array) List of types to check, in order of priority.


Source

File: wp-includes/rest-api/class-wp-rest-request.php

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

		$content_type = $this->get_content_type();
		if ( isset( $content_type['value'] ) && 'application/json' === $content_type['value'] ) {
			$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 ) ) {
			$order[] = 'POST';
		}

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

		/**
		 * Filters the parameter order.
		 *
		 * The order affects which parameters are checked when using get_param() and family.
		 * This acts similarly to PHP's `request_order` setting.
		 *
		 * @since WP-4.4.0
		 *
		 * @param array           $order {
		 *    An array of types to check, in order of priority.
		 *
		 *    @param string $type The type to check.
		 * }
		 * @param WP_REST_Request $this The request object.
		 */
		return apply_filters( 'rest_request_parameter_order', $order, $this );
	}


Changelog

Changelog
Version Description
WP-4.4.0 Introduced.