我目前正在使用与Wordpress'REST api接口的Angular应用程序。该应用程序的主要组成部分是可过滤的帖子索引,用户可以在其中选择多个标签进行搜索。
我的目的是使返回的帖子包含所有选中的标签,这意味着如果选择了标签1和2,则只会返回同时具有标签1和2的帖子。
显然,这是使用过滤器查询参数的supported in prior versions,但此后一直是deprecated。
我曾尝试关注文档,但尚不清楚这是否可能,而且Wordpress处理多种分类法过滤的方式非常令人困惑。这是我运行的测试:
https://<mysite>/wp-json/wp/v2/posts
<-X-WP-Total标头显示359个结果。
/wp-json/wp/v2/posts?tags=52
<-253个结果,因此过滤按预期进行。
/wp-json/wp/v2/posts?tags=1
<-0个结果,符合预期,因为没有帖子被标记为ID 1。
/wp-json/wp/v2/posts?tags=1,52
<-253个结果,表示我们已切换到“ OR”条件。在这种情况下,我希望看到0个结果,因为没有帖子被ID为1标记。
/wp-json/wp/v2/posts?tags[0]=52&tags[1]=1
<-253个结果,因此仍然无法正确应用过滤
/wp-json/wp/v2/posts?tags[]=52&tags[]=1
<-253个结果,因此仍然无法正确应用过滤
/wp-json/wp/v2/posts?tags=52&tags=1
<-0结果,所以起初我以为它可以正常工作,但是在切换了标签的顺序后,例如tags=1&tags=52
,我看到了253个结果,因此WP似乎只获取了最后一个“标签”值。
/wp-json/wp/v2/posts?tags=52+1
<-错误的请求
/wp-json/wp/v2/posts?tags=52%2B1
<-错误的请求
是否可以使用REST API通过多个标签过滤帖子,还是需要创建自己的端点?
此外,我搜索了类似的问题。 This Stack Exchange问题与我要寻找的问题相同,但是接受的答案不起作用,因为他们使用的“过滤器”查询参数已弃用。