Я переплутався з API REST, і я застряг у цьому: Як я можу фільтрувати пости як у cat1, так і у cat2?
Наразі ?categories[]=45&categories[]=50повертається в категорію ID 45 АБО 50 - як я можу отримувати повідомлення в 45 І 50?
Заздалегідь спасибі.
Я переплутався з API REST, і я застряг у цьому: Як я можу фільтрувати пости як у cat1, так і у cat2?
Наразі ?categories[]=45&categories[]=50повертається в категорію ID 45 АБО 50 - як я можу отримувати повідомлення в 45 І 50?
Заздалегідь спасибі.
Відповіді:
Кілька категорій можна розділити комою, як нижче
http://example.com/wp-json/wp/v2/posts?categories=20,30
сподіваюся, що це допомагає
@Jesse див .: WP-API / WP-API # 2990
З WP 4.7 filterбуло видалено з WP-API.
Вам потрібно використовувати цей плагін: https://github.com/WP-API/rest-filter
Ви повинні мати доступ до кількох категорій, використовуючи наступні:
http://YOURSITE.DEV/wp-json/wp/v2/posts?categories=45+50
Сподіваюся, що це допомагає!
Ура
Встановіть згаданий плагін для фільтра Austin ( https://github.com/WP-API/rest-filter ) та спробуйте ?filter[categories]=cat_one_slug%2Bcat_two_slug.
Я дізнався, що %2Bце кодовий еквівалент +символу.
Зазвичай ми використовуємо +для оператора AND, але, на жаль, він перетворюється на простір, тому використовуйте %2Bзамість цього.
Здається, у поточній версії API це не існує. Без використання плагіна це може бути досягнуто за допомогою спеціальної кінцевої точки або за допомогою функції фільтра запитів на відпочинок для конкретного типу повідомлення.
Ось приблизна функція фільтра, яка додає параметр під назвою cat_relation:
add_filter( 'rest_post_query', function( $args, $request ) {
if($request['cat_relation'] == 'AND') {
$args['category__and'] = $request['categories'];
}
return $args;
}, 10, 2);
Отже, приклад URL-адреси запиту:
http://example.com/wp-json/wp/v2/posts?categories=17,8&cat_relation=AND
Це я і зробив, це прекрасно працює.
http://example.com/wp-json/wp/v2/articles/?_embed&categories=1,2,3,4&per_page=30
Для тих, хто використовує Rest API v3, він працює для мене:
http://example.com/wp-json/wc/v3/products/?category=42,43