我正在编写一个Angular WP主题,并且试图减少帖子页面上的HTTP请求数量.
在帖子页面上,我想列出所有不同的分类法,最新帖子,获取特色图片和其他一些信息.我可以使用REST API v2插件对单个请求进行全部处理,但这是很多请求.
我希望为主题创建一个端点,解析帖子,然后将其全部返回到一个请求中,但是我似乎无法弄清楚.
我当时正在考虑使用查询字符串来获取此子弹.这是我一直在测试的内容:
function app_get_post($data) {
global $wp_query;
return [
'test' => $data,
'vars' => $wp_query->query_vars
];
}
add_action( 'rest_api_init', function () {
register_rest_route( 'app/v1', '/post', [
'methods' => 'GET',
'callback' => 'app_get_post',
] );
} );
这是产生的:
{
test: { },
vars: [ ]
}
我确实尝试使用query_vars钩子添加查询var,但是它也不起作用.
有什么建议么?我要这样做正确吗?
解决方法:
您应该传递参数
function app_get_post($data) {
return [
'test' => $data["postid"]
];
}
add_action( 'rest_api_init', function () {
register_rest_route( 'app/v1', '/post/(?P<postid>\d+)', [
'methods' => 'GET',
'callback' => 'app_get_post',
] );
} )