Title: WP_REST_Request::get_parameter_order
Published: December 9, 2015
Last modified: August 20, 2026

---

# WP_REST_Request::get_parameter_order(): string[]

## In this article

 * [Description](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#description)
 * [Return](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#source)
 * [Hooks](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#hooks)
 * [Related](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#wp--skip-link--target)

Retrieves the parameter priority order.

## 󠀁[Description](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#description)󠁿

Used when checking parameters in [WP_REST_Request::get_param()](https://developer.wordpress.org/reference/classes/wp_rest_request/get_param/).

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#return)󠁿

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

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#source)󠁿

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

[View all references](https://developer.wordpress.org/reference/files/wp-includes/rest-api/class-wp-rest-request.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.1/src/wp-includes/rest-api/class-wp-rest-request.php#L361)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/rest-api/class-wp-rest-request.php#L361-L398)

## 󠀁[Hooks](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#hooks)󠁿

 [apply_filters( ‘rest_request_parameter_order’, string[] $order, WP_REST_Request $request )](https://developer.wordpress.org/reference/hooks/rest_request_parameter_order/)

Filters the parameter priority order for a REST API request.

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#related)󠁿

| Uses | Description | 
| [WP_REST_Request::is_json_content_type()](https://developer.wordpress.org/reference/classes/wp_rest_request/is_json_content_type/)`wp-includes/rest-api/class-wp-rest-request.php` |

Checks if the request has specified a JSON Content-Type.

  | 
| [WP_REST_Request::parse_json_params()](https://developer.wordpress.org/reference/classes/wp_rest_request/parse_json_params/)`wp-includes/rest-api/class-wp-rest-request.php` |

Parses the JSON parameters.

  | 
| [WP_REST_Request::parse_body_params()](https://developer.wordpress.org/reference/classes/wp_rest_request/parse_body_params/)`wp-includes/rest-api/class-wp-rest-request.php` |

Parses the request body parameters.

  | 
| [WP_REST_Request::get_body()](https://developer.wordpress.org/reference/classes/wp_rest_request/get_body/)`wp-includes/rest-api/class-wp-rest-request.php` |

Retrieves the request body content.

  | 
| [apply_filters()](https://developer.wordpress.org/reference/functions/apply_filters/)`wp-includes/plugin.php` |

Calls the callback functions that have been added to a filter hook.

  |

[Show 1 more](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#)

| Used by | Description | 
| [WP_REST_Request::has_param()](https://developer.wordpress.org/reference/classes/wp_rest_request/has_param/)`wp-includes/rest-api/class-wp-rest-request.php` |

Checks if a parameter exists in the request.

  | 
| [WP_REST_Request::offsetUnset()](https://developer.wordpress.org/reference/classes/wp_rest_request/offsetunset/)`wp-includes/rest-api/class-wp-rest-request.php` |

Removes a parameter from the request.

  | 
| [WP_REST_Request::sanitize_params()](https://developer.wordpress.org/reference/classes/wp_rest_request/sanitize_params/)`wp-includes/rest-api/class-wp-rest-request.php` |

Sanitizes (where possible) the params on the request.

  | 
| [WP_REST_Request::offsetExists()](https://developer.wordpress.org/reference/classes/wp_rest_request/offsetexists/)`wp-includes/rest-api/class-wp-rest-request.php` |

Checks if a parameter is set.

  | 
| [WP_REST_Request::get_param()](https://developer.wordpress.org/reference/classes/wp_rest_request/get_param/)`wp-includes/rest-api/class-wp-rest-request.php` |

Retrieves a parameter from the request.

  | 
| [WP_REST_Request::set_param()](https://developer.wordpress.org/reference/classes/wp_rest_request/set_param/)`wp-includes/rest-api/class-wp-rest-request.php` |

Sets a parameter on the request.

  | 
| [WP_REST_Request::get_params()](https://developer.wordpress.org/reference/classes/wp_rest_request/get_params/)`wp-includes/rest-api/class-wp-rest-request.php` |

Retrieves merged parameters from the request.

  |

[Show 2 more](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#)

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_rest_request/get_parameter_order/?output_format=md#changelog)󠁿

| Version | Description | 
| [4.4.0](https://developer.wordpress.org/reference/since/4.4.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_rest_request%2Fget_parameter_order%2F)
before being able to contribute a note or feedback.