Я пытаюсь отфильтровать запрос wpapi, используя Jmespath или стандартную встроенную строку фильтра.
Я хотел бы получить все «id» в списке с одним или несколькими значениями в массиве «filters». «Фильтры» вложены в «_item_filter-options».
Например, я бы отфильтровал все идентификаторы с помощью «фильтров» == 409 ИЛИ 400.
А как насчет фильтрации всех «id» с «locations» == 217 ИЛИ другим значением?
Не могли бы вы помочь мне найти решение?
[
{
"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,
.....
Я добавляю дополнительную информацию, это может помочь мне ответить. Я использую тему wordpress ait-club с пользовательским типом сообщений «ait-item» и мета-полями.
Я пытаюсь использовать Wordpress Rest API, чтобы ПОЛУЧИТЬ все элементы ait с некоторыми свойствами, такими как широта, заголовок, адрес и т. д., отфильтрованные с помощью _item_filters-options" -> "filters".
Используя, например, http://mydomain/wp-json/wp/v2/ait-item?location=19 ЭТО РАБОТАЕТ (местоположение является пользовательской таксономией). Как я могу получить тот же результат с помощью Jmespath?
Как получить ait-item с фильтрами = 419 или более значений?
Извините за мой маленький английский, спасибо.
Изменить: Использование:
https://www.mydomain.it/wp-json/wp/v2/ait-item?_query=[?_item_filters-options.filters[0]=='400']
я могу получить все «id», где первое значение массива «filters» равно 400. Я не могу искать во всем массиве «filters»!! Не могли бы вы помочь мне?
РЕДАКТИРОВАТЬ: я нашел решение, используя:
https://www.areepicnic.it/wp-json/wp/v2/ait-item?_query=[?"_ait-item_filters-options".filters[?@=='400']]
or
https://www.areepicnic.it/wp-json/wp/v2/ait-item?_query=[?"_ait-item_filters-options".filters[?contains(@,'397')]]
теперь я пытаюсь фильтровать с несколькими значениями.