2016-08-14 64 views
0

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

我知道我可以通过属性类别搜索帖子或过滤[猫]。

但帖子包含多个类别。

我试图寻找这样的:

{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": [] 
    } 

谢谢!

+0

更改为英语语言 - 并在代码中包装代码 – dbmitch

回答

0

如果您想从多个类别中获取帖子,那么根据您的需求,很少有解决方案。

在当你想从与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 

但 - 一些过滤器值u筛选器阵列中的sed需要使用edit_posts特权进行身份验证的用户。

幸运的是,还有一个更简单的解决方案 - WordPress的支持像链接:

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

在上述网址你会得到被分配到TEST1和TEST2类别的职位列表。和REST API中可以实现与以下网址相同的行为:

http://localhost/lifelog/wp-json/wp/v2/posts?filter[category_name]=test1%2Btest2 

请记住,你必须更换+标志为%2B

+0

我需要获得ID = 1和ID = 2等职位...但过滤器[category__and] [] = 1&filter [category__and] [] = 2不适用于我 – ZizouJd

+0

正如我写的“但 - 过滤器数组中使用的一些过滤器值需要具有edit_posts特权的经过验证的用户。” - 这就是为什么我提出了一个带有加号的解决方案。 –

+0

好的,完美的,带有加号的解决方案适用于我。现在,我该如何处理有空格的字符串?示例= filter [category_name] = test 1%2Btest 2 – ZizouJd