WP API忽略筛选参数

时间:2016-11-25 作者:Mesh

我正在尝试通过Rest API返回帖子或媒体列表

但似乎当一个过滤器被错误地指定时,整个页面的结果就会被传回。

所以像这样的curl命令

curl -gv  "myamazingsite.co.uk/wp-json/wp/v2/media/?filter[id]=123"
返回所有媒体项,而不是空列表。

现在

curl -gv  "myamazingsite.co.uk/wp-json/wp/v2/media/?filter[year]=2016"
那一年我得到了所有的媒体。

curl -gv  "myamazingsite.co.uk/wp-json/wp/v2/media/?filter[year]=2015"
返回空列表[],因为没有。。好的

所以,我假设id不是有效的过滤器参数,但为什么我没有得到错误消息呢?

filter arg的文档只链接到wp\\u query method,它似乎都是关于PHP函数的,我承认我对PHP知之甚少,所以我发现这很容易混淆它所说的内容。。。

1 个回复
SO网友:Emil

WP API将忽略它不理解的过滤器值,因此以下内容基本相同:

curl -gv  "myamazingsite.co.uk/wp-json/wp/v2/media/?filter[id]=123"
curl -gv  "myamazingsite.co.uk/wp-json/wp/v2/media/"
但是,任何有效的筛选关键字都将用于筛选结果,因此如果2015年没有图像,以下内容将不会返回任何结果([]).

curl -gv  "myamazingsite.co.uk/wp-json/wp/v2/media/?filter[year]=2015"
我不太确定您希望第一个curl命令返回什么,如果您能澄清,我很乐意扩展这个答案。