【问题标题】:How to query the Wordpress API by ACF properties?如何通过 ACF 属性查询 Wordpress API?
【发布时间】:2018-08-05 14:29:33
【问题描述】:

我正在尝试根据 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”)

在所有其他属性中,还有 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 查询?

如果这不可能,有什么替代解决方案?

【问题讨论】:

    标签: wordpress advanced-custom-fields wordpress-rest-api


    【解决方案1】:

    我相信通过 post meta 过滤 API 请求是不可能的。因为最后,“按 ACF 值过滤”(至少在帖子上)等于“按帖子元过滤”。

    为此,您需要为自己的查询创建自己的 REST 处理程序。一个关于“向 Wordpress API 添加新路由”的快速 Google 搜索将提供很多示例,例如 this one

    【讨论】:

      【解决方案2】:

      看看 ACF(高级自定义字段)插件 + ACF-TO-REST-API 插件:

      https://wordpress.org/plugins/acf-to-rest-api/

      https://github.com/airesvsg/acf-to-rest-api

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-10
        • 1970-01-01
        • 2011-12-18
        • 1970-01-01
        • 1970-01-01
        • 2017-06-20
        • 2019-04-02
        • 1970-01-01
        相关资源
        最近更新 更多