rest_get_queried_resource_route()
云策文档标注
概述
rest_get_queried_resource_route() 函数用于获取当前查询对象的 REST API 路由。它根据查询类型(如文章、分类、作者等)返回相应的路由字符串,若无匹配则返回空字符串。
关键要点
- 函数返回当前查询对象的 REST 路由,例如文章、分类或作者的路由。
- 支持多种查询类型:is_singular()、is_category()、is_tag()、is_tax() 和 is_author()。
- 通过 rest_queried_resource_route 过滤器允许自定义路由。
- 返回值为字符串,若无资源则返回空字符串。
代码示例
function rest_get_queried_resource_route() {
if ( is_singular() ) {
$route = rest_get_route_for_post( get_queried_object() );
} elseif ( is_category() || is_tag() || is_tax() ) {
$route = rest_get_route_for_term( get_queried_object() );
} elseif ( is_author() ) {
$route = '/wp/v2/users/' . get_queried_object_id();
} else {
$route = '';
}
return apply_filters( 'rest_queried_resource_route', $route );
}注意事项
- 函数自 WordPress 5.5.0 版本引入。
- 依赖多个查询函数如 get_queried_object() 和 get_queried_object_id() 来获取对象信息。
- 常用于 REST API 相关功能,如输出链接标签或头部。
原文内容
Gets the REST route for the currently queried object.
Source
function rest_get_queried_resource_route() {
if ( is_singular() ) {
$route = rest_get_route_for_post( get_queried_object() );
} elseif ( is_category() || is_tag() || is_tax() ) {
$route = rest_get_route_for_term( get_queried_object() );
} elseif ( is_author() ) {
$route = '/wp/v2/users/' . get_queried_object_id();
} else {
$route = '';
}
/**
* Filters the REST route for the currently queried object.
*
* @since 5.5.0
*
* @param string $link The route with a leading slash, or an empty string.
*/
return apply_filters( 'rest_queried_resource_route', $route );
}
Hooks
- apply_filters( ‘rest_queried_resource_route’, string $link )
-
Filters the REST route for the currently queried object.
Changelog
| Version | Description |
|---|---|
| 5.5.0 | Introduced. |