是否可以使用 url 作为参数从 wordpress rest api 获取发布数据/类型?
我已经从 soundcloud 知道了这个功能。有一个带有 url 参数的解析函数(参见 https://developers.soundcloud.com/docs/api/reference#resolve )。当您调用此 rest api 端点时,如果 url 是轨道或播放列表,您将获得详细信息。
不幸的是,我无法在 wordpress rest api 文档中找到执行此操作的函数。我真正想要的是仅通过知道 url 来获取帖子数据/类型
- https://demo.wp-api.org/2017/05/23/hello-world/ => 发布
- https://demo.wp-api.org/example => 页面
- https://demo.wp-api.org/category/example => 类别
有这样的功能 https://demo.wp-api.org/wp-json/wp/v2/resolve?url=https://demo.wp-api.org/2017/05/23/hello-world/
有没有办法做到这一点?或者我是否需要使用 wordpress 插件编写自己的 rest api 端点?
最佳答案
问题解决了
function route_handler($request)
{
global $wp;
global $wp_query;
$parameters = $request->get_json_params();
$url = $parameters["url"];
$_SERVER['REQUEST_URI'] = $url;
$wp->parse_request();
$wp->query_posts();
//Insert queries for more specific information
//Modify or simplify the query results
//Here I'm just returning the query results.
return json_encode($wp_query);
}
add_action('rest_api_init', function () {
register_rest_route('custom-theme/v1', '/route', array(
'methods' => 'POST',
'callback' => 'route_handler',
));
});
参见:https://medium.com/@harryhorton/query-wp-rest-api-using-any-permalink-url-f5e4e4dd36b7
关于wordpress rest api 仅通过 url 获取发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56539410/