WP_REST_Request::from_url( string $url ): WP_REST_Request|false

In this article

Retrieves a WP_REST_Request object from a full URL.

Parameters

$urlstringrequired
URL with protocol, domain, path and query args.

Return

WP_REST_Request|false WP_REST_Request object on success, false on failure.

Source

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

Hooks

apply_filters( ‘rest_request_from_url’, WP_REST_Request|false $request, string $url )

Filters the REST API request generated from a URL.

Changelog

VersionDescription
4.5.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.