【发布时间】:2019-06-13 14:33:20
【问题描述】:
我正在尝试使用 Jmespath o 标准内置过滤器字符串过滤 wpapi 请求。
我想用“filters”数组中的一个或多个值检索列表中的所有“id”。 “过滤器”嵌套在“_item_filter-options”下。
例如,我将使用“filters”==409 OR 400 过滤所有 id。
那么用“locations”==217 或其他值过滤所有“id”呢?
你能帮我找到解决办法吗?
[
{
"id": 2608,
"date": "2018-08-18T12:53:16",
"date_gmt": "2018-08-18T10:53:16",
"ait-locations": [
217,
19
],
"ait_item_filters-options": {
"filters": [
"419",
"400",
"409",
"418",
"531",
"403",
"408",
"575"
]
},
},
{
"id": 2588,
.....
我添加了一些额外的信息,它可能有助于回答我。 我正在使用带有自定义帖子类型“ait-item”和元字段的 ait-club wordpress 主题。
我正在尝试使用 Wordpress Rest API 来获取所有具有某些属性的 ait-item,如纬度、标题、地址等,由 _item_filters-options"->"filters" 过滤。
使用例如http://mydomain/wp-json/wp/v2/ait-item?location=19 IT WORKS(位置是自定义分类法)。如何使用 Jmespath 检索相同的结果?
如何获取 filters=419 或更多值的 ait-item?
对不起,我的英语太少了,谢谢。
编辑: 使用:
https://www.mydomain.it/wp-json/wp/v2/ait-item?_query=[?_item_filters-options.filters[0]=='400']
我可以检索“过滤器”数组的第一个值为 400 的所有“id”。 我无法在整个“过滤器”数组中搜索!!你能帮帮我吗?
编辑:我找到了解决方案:
https://www.areepicnic.it/wp-json/wp/v2/ait-item?_query=[?"_ait-item_filters-options".filters[?@=='400']]
或
https://www.areepicnic.it/wp-json/wp/v2/ait-item?_query=[?"_ait-item_filters-options".filters[?contains(@,'397')]]
现在我正在尝试使用多个值进行过滤。
【问题讨论】:
标签: wordpress api filter nested jmespath