我正在尝试基于ACF属性查询Worpress API。
如果我不包含查询,我会得到以下输出:
[{"id":215,"date":"2018-08-05T09:21:37","date_gmt":"2018-08-5T08:21:37","guid":{"rendered":"x"},"modified":"2018-08-05T09:21:37",
"modified_gmt":"2018-08-05T08:21:37","slug":"sasradisson","status":"publish","type":"hotel","link":"https:x",
"title":{"rendered":"SAS Radisson"},"template":"","acf":{"stad":{"value":"barcelona","label":"barcelona"},
"description":"","images":false},"_links":{"self":[{"href":"x"}],"collection":[{"href":"x"}],
"about":[{"href":"x"}],"wp:attachment":[{"href":"x"}],"curies":[{"name":"wp","href":"x","templated":true}]}},
{"id":205,"date":"2018-08-04T11:25:35","date_gmt":"2018-08-04T10:25:35","guid":{"rendered":"x"},
"modified":"2018-08-04T14:22:12","modified_gmt":"2018-08-04T13:22:12","slug":"citybox-oslo","status":"publish",
"type":"hotel","link":"x","title":{"rendered":"Citybox Oslo"},"template":"",
"acf":{"stad":{"value":"oslo","label":"oslo"},"description":"","images":false},
"_links":{"self":[{"href":"x"}],"collection":[{"x"}],"about":[{"href":"x"}],"wp:attachment":[{"href":"x"}],
"curies":[{"name":"wp","href":"x","templated":true}]}}]
(为了简洁起见,我用"x"替换了所有URL(
在所有其他属性中,有ACF属性,如下所示:
"acf":{"stad":{"value":"barcelona","label":"barcelona"}
这些查询都不起作用:
/wp-json/wp/v2/hotels?acf={stad:{value:%27barcelona%27}}
/wp-json/wp/v2/hotels?acf.stad.value=barcelona
如何构建正确的URL查询?
如果这不可能,还有什么替代方案?
我认为通过post-meta过滤API请求是不可能的。因为最终,"按ACF值筛选"(至少在帖子上(等于"按帖子元筛选"。
为此,您需要为自己的查询创建自己的REST处理程序。一个快速的谷歌搜索"添加新的路线到Wordpress API"将提供很多例子,如这一个。
看看ACF(高级自定义字段(插件+ACF-TO-REST-API插件:
https://wordpress.org/plugins/acf-to-rest-api/
https://github.com/airesvsg/acf-to-rest-api