Я пытаюсь отфильтровать запрос wpapi, используя стандартную встроенную строку фильтра Jmespath.
Я хотел бы получить все «id» в списке с одним или несколькими значениями в массиве «filters». «Фильтры» вложены в «_item_filter-options».
Например, я бы отфильтровал все идентификаторы с помощью «фильтров» == 409 ИЛИ 400.
А как насчет фильтрации всех "id" с помощью "location" == 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 или более значений?
Извините за мой маленький английский, спасибо.
Edit:
Использование:
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']]
или
https://www.areepicnic.it/wp-json/wp/v2/ait-item?_query=[?"_ait-item_filters-options".filters[?contains(@,'397')]]
сейчас я пытаюсь фильтровать по нескольким значениям.