Intereting Posts
Ограничение количества сообщений в WP_Query приводит к неожиданному результату Проблема WPAlchemy при использовании 2 меню выбора с одинаковыми значениями внутри повторяющейся группы Как получить WordPress для разбора / mypage / area / value как / mypage /? Area = value? $ _POST пуст на отправке (тот же код, такая же форма обычно отправляется на локальном сервере) Серьезно застрял с некоторыми обычными мета-коробками / плагинами Множество пользователей, которые видят виджеты Использовать проверку подлинности Google для страниц на веб-сайте Сделать комментарий на странице, не находясь на этой странице? wp_nav_menu войти в / из ссылки? Условно добавьте apt. Открыть метаданные диаграммы на разных страницах сайта WordPress Разбиение страниц на пользовательские налоговые страницы удаляет пробелы из запросов Каков самый ранний крючок, который вы можете использовать для проверки условий / таксономии для просмотра коллекции? Я не могу добавить больше категорий в мое меню Как скрыть некоторых пользователей от нелегальных пользователей Зарегистрируйте пользовательский тип сообщения как public = false, но есть ли контент в поисковых системах?

WP-API: получать сообщения по нескольким категориям

Скажем, у меня две категории: « color » и « temperature ». Каждый из них имеет несколько подкатегорий.

WordPress делает отличную работу, отображая сообщения в запрошенных категориях, когда я перехожу к URL-адресу, подобному этому:

 http://www.example.com/category/pink+warm 

Теперь я хотел бы сделать то же самое с плагином json-rest-api через запросы REST.

Является ли это возможным? Как получить сообщения в нескольких категориях (не в любом, а во всех запрошенных) с помощью запросов REST?

Я пробовал разные URI, но не смог.

Solutions Collecting From Web of "WP-API: получать сообщения по нескольким категориям"

Спрашивая, что вы используете V1 WP-API, вы пробовали следующую конечную точку:

 http://www.example.com/wp-json/posts?filter[category_name]=pink+warm 

Я просматриваю код в классе WP_JSON_Posts, и get_post () должен иметь возможность обрабатывать этот случай использования.

UPDATE: Кажется, существует ограничение с тем, как создается запрос. Вот потенциальное обходное решение:

 add_filter('json_query_var-category_name', function( $var ) { return str_replace(' ', '+', $filter[ $var ] ); }); 

Или даже лучше (без нового кода)! Кодировать + в URL-адресе с% 2B:

 http://www.example.com/wp-json/posts?filter[category_name]=pink%2Bwarm 

Кажется, это работает для меня! См. Здесь для пояснений: https://bugs.php.net/bug.php?id=39078

Примечание. В V2 эта конечная точка не будет работать.