如何根据WP Rest API V2中的标记slug检索帖子列表?

时间:2017-02-17 08:30:24

标签: javascript angularjs json wordpress rest

我有一个使用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/

你知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

只需在特定tagId上的请求帖子之前调用http://demo.wp-api.org/wp-json/wp/v2/tags即可获取代码列表。通过这种方式,您可以通过“slug”过滤数据来找到所需的tagId。演示API不支持CORS,因为我不会创建一个工作小提琴。

嵌套的$ http请求错误示例

 $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的建议)获取具有该特定标记的帖子。