get_rest_url( int $blog_id = null, string $path = '/', string $scheme = 'rest' )
Retrieves the URL to a REST endpoint on a site.
描述
Note: The returned URL is NOT escaped.
参数
- $blog_id
-
(int)
(Optional)
Blog ID. Default of null returns URL for current blog.Default value: null
- $path
-
(string)
(Optional)
REST route.Default value: '/'
- $scheme
-
(string)
(Optional)
Sanitization scheme.Default value: 'rest'
返回值
(string) Full URL to the endpoint.
源代码
File: wp-includes/rest-api.php
function get_rest_url( $blog_id = null, $path = '/', $scheme = 'rest' ) {
if ( empty( $path ) ) {
$path = '/';
}
if ( is_multisite() && get_blog_option( $blog_id, 'permalink_structure' ) || get_option( 'permalink_structure' ) ) {
global $wp_rewrite;
if ( $wp_rewrite->using_index_permalinks() ) {
$url = get_home_url( $blog_id, $wp_rewrite->index . '/' . rest_get_url_prefix(), $scheme );
} else {
$url = get_home_url( $blog_id, rest_get_url_prefix(), $scheme );
}
$url .= '/' . ltrim( $path, '/' );
} else {
$url = trailingslashit( get_home_url( $blog_id, '', $scheme ) );
$path = '/' . ltrim( $path, '/' );
$url = add_query_arg( 'rest_route', $path, $url );
}
if ( is_ssl() ) {
// If the current host is the same as the REST URL host, force the REST URL scheme to HTTPS.
if ( $_SERVER['SERVER_NAME'] === parse_url( get_home_url( $blog_id ), PHP_URL_HOST ) ) {
$url = set_url_scheme( $url, 'https' );
}
}
if ( is_admin() && force_ssl_admin() ) {
// In this situation the home URL may be http:, and `is_ssl()` may be
// false, but the admin is served over https: (one way or another), so
// REST API usage will be blocked by browsers unless it is also served
// over HTTPS.
$url = set_url_scheme( $url, 'https' );
}
/**
* Filters the REST URL.
*
* Use this filter to adjust the url returned by the get_rest_url() function.
*
* @since 4.4.0
*
* @param string $url REST URL.
* @param string $path REST route.
* @param int $blog_id Blog ID.
* @param string $scheme Sanitization scheme.
*/
return apply_filters( 'rest_url', $url, $path, $blog_id, $scheme );
}
更新日志
Version | 描述 |
---|---|
4.4.0 | Introduced. |
相关函数
Uses
-
wp-includes/rest-api.php:
rest_url -
wp-includes/rest-api.php:
rest_get_url_prefix() -
wp-includes/formatting.php:
trailingslashit() -
wp-includes/load.php:
is_multisite() -
wp-includes/load.php:
is_admin() -
wp-includes/load.php:
is_ssl() -
wp-includes/functions.php:
force_ssl_admin() -
wp-includes/functions.php:
add_query_arg() -
wp-includes/link-template.php:
set_url_scheme() -
wp-includes/link-template.php:
get_home_url() -
wp-includes/plugin.php:
apply_filters() -
wp-includes/option.php:
get_option() -
wp-includes/class-wp-rewrite.php:
WP_Rewrite::using_index_permalinks() -
wp-includes/ms-blogs.php:
get_blog_option()
Show 9 more uses
Used By
-
wp-includes/rest-api.php:
rest_output_rsd() -
wp-includes/rest-api.php:
rest_output_link_wp_head() -
wp-includes/rest-api.php:
rest_output_link_header() -
wp-includes/rest-api.php:
rest_url() -
wp-includes/rest-api/class-wp-rest-server.php:
WP_REST_Server::serve_request() -
wp-includes/script-loader.php:
wp_default_scripts()
Show 1 more used by
Hide more used by
你可能对这些文章感兴趣:
- wordpress函数has_filter()用法示例
- wordpress函数has_meta()用法示例
- wordpress函数has_excerpt()用法示例
- wordpress函数has_header_video()用法示例
- wordpress函数has_category()用法示例
- wordpress函数has_custom_logo()用法示例
- wordpress函数has_custom_header()用法示例
- wordpress函数hash_hmac()用法示例
- wordpress函数grant_super_admin()用法示例
- wordpress函数get_the_post_thumbnail_url()用法示例
- wordpress函数hash_equals()用法示例
- wordpress函数got_url_rewrite()用法示例
- wordpress函数gzip_compression()用法示例
- wordpress函数got_mod_rewrite()用法示例
如有疑问,请前往问答中心反馈!
反馈