rest_pre_dispatch

Filters the pre-calculated result of a REST dispatch request.

Description

apply_filters( 'rest_pre_dispatch', (null) $null, (WP_REST_Server) $instance, (WP_REST_Request) $request ); 

Allow hijacking the request before dispatching by returning a non-empty. The returned value will be used to serve the request instead.

Parameters (3)

0. $null (null) => null
Response to replace the requested version with. Can be anything a normal endpoint can return, or null to not hijack the request.
1. $instance (WP_REST_Server)
Server instance.
2. $request (WP_REST_Request)
Request used to generate the response.

Usage

To run the hook, copy the example below.
  1. $null = apply_filters( 'rest_pre_dispatch', $null, $instance, $request ); 
  2.  
  3. if ( !empty( $null ) ) { 
  4.  
  5. // everything has led up to this point... 
  6.  
  7.  
The following example is for adding a hook callback.
  1. // define the rest_pre_dispatch callback 
  2. function filter_rest_pre_dispatch( $null, $instance, $request ) { 
  3. // make filter magic happen here... 
  4. return $null
  5. }; 
  6.  
  7. // add the filter 
  8. add_filter( 'rest_pre_dispatch', 'filter_rest_pre_dispatch', 10, 3 ); 
To remove a hook callback, use the example below.
  1. // remove the filter 
  2. remove_filter( 'rest_pre_dispatch', 'filter_rest_pre_dispatch', 10, 3 ); 

Defined (2)

The filter is defined in the following location(s).

/wp-includes/rest-api/class-wp-rest-server.php  
  1. $result = apply_filters( 'rest_pre_dispatch', null, $this, $request ); 
/wp-includes/rest-api.php  
  1. add_filter( 'rest_pre_dispatch', 'rest_handle_options_request', 10, 3 );