Wtrącam się w interfejs API REST i utknąłem z tym: Jak mogę filtrować posty zarówno w cat1, jak i cat2?
Na razie ?categories[]=45&categories[]=50
powraca w kategorii ID 45 LUB 50 - jak mogę uzyskać posty w 45 ORAZ 50?
Z góry dziękuję.
categories
rest-api
Jesse P. Francis
źródło
źródło
Odpowiedzi:
Wiele kategorii można oddzielić przecinkami, jak poniżej
mam nadzieję że to pomoże
źródło
@Jesse patrz: WP-API / WP-API # 2990
Od wersji WP 4.7
filter
został usunięty z WP-API.Musisz użyć tej wtyczki: https://github.com/WP-API/rest-filter
źródło
Powinieneś być w stanie uzyskać dostęp do wielu kategorii za pomocą następujących czynności:
Mam nadzieję, że to pomaga!
Twoje zdrowie
źródło
Zainstaluj wymienioną wtyczkę filtra Austin ( https://github.com/WP-API/rest-filter ) i spróbuj
?filter[categories]=cat_one_slug%2Bcat_two_slug
.Dowiedziałem się, że
%2B
jest to kodowy odpowiednik tego+
symbolu.Zwykle
+
używalibyśmy operatora AND, ale niestety jest on konwertowany na spację, więc użyj%2B
zamiast tego.źródło
Wydaje się, że nie ma sposobu, aby to zrobić w bieżącej wersji interfejsu API. Bez użycia wtyczki można to osiągnąć za pomocą niestandardowego punktu końcowego lub za pomocą funkcji filtru zapytań pozostałych dla określonego typu postu.
Oto funkcja filtra wstępnego, która dodaje parametr o nazwie
cat_relation
:Przykładowy adres URL żądania to:
http://example.com/wp-json/wp/v2/posts?categories=17,8&cat_relation=AND
źródło
To właśnie zrobiłem. Działa dobrze.
źródło
Dla tych, którzy używają Rest API v3, to działa dla mnie:
źródło