我有一个使用WP Rest API V2从Wordpress站点检索数据的应用程序。 API最近已从使用'filter [tag] ='更改为新语法。我希望检索特定标签内的帖子列表。
旧语法:
http://demo.wp-api.org/wp-json/wp/v2/posts?filter[tag]=slug
新语法如下所示:
http://demo.wp-api.org/wp-json/wp/v2/posts?tags=id
它现在需要一个ID整数而不是一个slug作为参数。我查看了文档,但似乎无法找到解决方案。我没有选择使用id,我只能使用slug!
可以在此处找到WP Rest API文档:https://developer.wordpress.org/rest-api/reference/posts/
你知道如何解决这个问题吗?
答案 0 :(得分:1)
只需在特定tagId上的请求帖子之前调用http://demo.wp-api.org/wp-json/wp/v2/tags
即可获取代码列表。通过这种方式,您可以通过“slug”过滤数据来找到所需的tagId。演示API不支持CORS,因为我不会创建一个工作小提琴。
$http({
method: 'GET',
url: 'http://demo.wp-api.org/wp-json/wp/v2/tags'
}).then(function (result) {
var filtered = filterFilter(result.data, { slug: 'dolor'});
$http({
method: 'GET',
url: 'http://demo.wp-api.org/wp-json/wp/v2/posts?tags=' + filtered[0].id
}).then(function (result) {
console.log(result.data);
});
});
答案 1 :(得分:0)
查看官方API docs for TAGS,您可以使用以下请求搜索代码架构中的字符串:
http://demo.wp-api.org/wp-json/wp/v2/tags?search=yourslug
生成的JSON输出将显示包含您在任何架构字段中搜索的字符串的标记,例如slug
。
在您检索到所需的标记后,您可以使用其ID(根据@lin的建议)获取具有该特定标记的帖子。