Я вмешивался в REST API, и я застрял с этим: Как я могу фильтровать сообщения в cat1 и cat2?
На данный момент ?categories[]=45&categories[]=50
возвращается в категории ID 45 или 50 - как я могу получить сообщения в 45 и 50?
Заранее спасибо.
Я вмешивался в REST API, и я застрял с этим: Как я могу фильтровать сообщения в cat1 и cat2?
На данный момент ?categories[]=45&categories[]=50
возвращается в категории ID 45 или 50 - как я могу получить сообщения в 45 и 50?
Заранее спасибо.
Ответы:
Несколько категорий могут быть разделены запятой, как показано ниже
http://example.com/wp-json/wp/v2/posts?categories=20,30
надеюсь это поможет
@ Посмотрите: 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
Надеюсь, это поможет!
ура
Установите упомянутый плагин фильтра Остин ( 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