WP_REST_Request::from_url()
Retrieves a WP_REST_Request object from a full URL.
Method of the class: WP_REST_Request{}
Hooks from the method
Return
WP_REST_Request|false
. WP_REST_Request object on success, false on failure.
Usage
$result = WP_REST_Request::from_url( $url );
- $url(string) (required)
- URL with protocol, domain, path and query args.
Changelog
Since 4.5.0 | Introduced. |
WP_REST_Request::from_url() WP REST Request::from url code WP 6.6.2
public static function from_url( $url ) { $bits = parse_url( $url ); $query_params = array(); if ( ! empty( $bits['query'] ) ) { wp_parse_str( $bits['query'], $query_params ); } $api_root = rest_url(); if ( get_option( 'permalink_structure' ) && str_starts_with( $url, $api_root ) ) { // Pretty permalinks on, and URL is under the API root. $api_url_part = substr( $url, strlen( untrailingslashit( $api_root ) ) ); $route = parse_url( $api_url_part, PHP_URL_PATH ); } elseif ( ! empty( $query_params['rest_route'] ) ) { // ?rest_route=... set directly. $route = $query_params['rest_route']; unset( $query_params['rest_route'] ); } $request = false; if ( ! empty( $route ) ) { $request = new WP_REST_Request( 'GET', $route ); $request->set_query_params( $query_params ); } /** * Filters the REST API request generated from a URL. * * @since 4.5.0 * * @param WP_REST_Request|false $request Generated request object, or false if URL * could not be parsed. * @param string $url URL the request was generated from. */ return apply_filters( 'rest_request_from_url', $request, $url ); }