按类别搜索 post Wordpress WP-API

Search post by categories Wordpress WP-API

我想在 WP-API 中按类别搜索帖子。

我知道我可以按属性类别或过滤器[cat]搜索帖子。

但是帖子包含多个类别。

我试过这样搜索:

{host}/wp-json/wp/v2/posts?categories=69&filter[cat]=[228,246,237]&per_page=50

{host}/wp-json/wp/v2/posts?categories=69&filter[cat]=228&filter[cat]=246&filter[cat]=237&per_page=50

{host}/wp-json/wp/v2/posts?categories=69&categories=246&categories=237&categories=228

这对我不起作用。它导致搜索查找最后一个属性。

有什么想法吗?

这是Json响应的结构

{
    "id": 9333,
    "date": "2016-08-02T14:17:01",
    "date_gmt": "2016-08-02T12:17:01",
    "guid": {
      "rendered": "{post}/?p=9333"
    },
    "modified": "2016-08-03T08:50:35",
    "modified_gmt": "2016-08-03T06:50:35",
    "slug": "{post}",
    "type": "post",
    "link": "{host}/{post}/",
    "title": {
      "rendered": "{post}"
    },
    "content": {
      "rendered": "{post}"
    },
    "excerpt": {
      "rendered": "{post}"
    },
    "author": 3,
    "featured_media": 0,
    "comment_status": "closed",
    "ping_status": "closed",
    "sticky": false,
    "format": "standard",
    "categories": [
      228,
      237,
      207,
      217,
      246,
      231,
      69,
      221,
      270,
      244
    ],
    "tags": [],
    "_links": []
  }

谢谢!

如果您想从多个类别中获取帖子,解决方案很少,具体取决于您的需要。

如果您想从 ID = 1 的类别或 ID = 2 的类别中获取帖子,请使用以下 URL:

http://localhost/lifelog/wp-json/wp/v2/posts?filter[cat]=1,2

或:

http://localhost/lifelog/wp-json/wp/v2/posts?categories=1,2

如果您想从 ID = 1 的类别和 ID = 2 的类别中获取帖子,您可以使用:

http://localhost/lifelog/wp-json/wp/v2/posts?filter[category__and][]=1&filter[category__and][]=2

但是 - 过滤器数组中使用的一些过滤器值需要具有 edit_posts 权限的经过身份验证的用户。

幸运的是,有一个更简单的解决方案——WordPress 支持如下链接:

http://example.com/category/test1+test2/

在上面 URL 下,您将获得分配给 test1 和 test2 类别的帖子列表。在 REST API 中,您可以使用以下 URL:

实现相同的行为
http://localhost/lifelog/wp-json/wp/v2/posts?filter[category_name]=test1%2Btest2

请记住,您必须将 + 登录替换为 %2B