API REST do WP: filtro por categoria 1 E categoria 2

12

Tenho me intrometido com a API REST e estou preso a isso: Como posso filtrar postagens em cat1 e cat2?

Por enquanto, ?categories[]=45&categories[]=50retorna na categoria ID 45 OR 50 - como posso obter postagens em 45 AND 50?

Desde já, obrigado.

Jesse P Francis
fonte
Você encontrou uma solução para isso?
Corey
@ Corey: Não. Acho que não é possível, a partir de agora (vi algumas outras postagens de suporte a plugins afirmando isso) eu estava usando a API para um aplicativo com o Ionic, carreguei-os separadamente e cruzei-os. Deixá-lo aberto, caso meu aprendizado seja incompleto. Leu em algum lugar onde o Plugin é editado (nem um pouco recomendado) para alcançá-lo.
Jesse P Francis

Respostas:

6

Várias categorias podem ser separadas por vírgula como abaixo

http://example.com/wp-json/wp/v2/posts?categories=20,30

espero que isto ajude

Manish Jung Thapa
fonte
A solicitação é para a pesquisa AND, isso dará a você OU.
Tom Woodward
6

@ Jessé ver: WP-API / WP-API # 2990

Desde o WP 4.7, filterfoi removido do WP-API.

Você precisa usar este plugin: https://github.com/WP-API/rest-filter

Austin Passy
fonte
11
Um plug-in alternativo github.com/bueltge/wp-rest-api-filter-items que testam uma manutenção sólida inclui.
bueltge
@bueltge, Interessante. Atualmente, uso o plug - in rest-api-filter-fields : github.com/svrooij/rest-api-filter-fields , que parece estar fazendo a mesma coisa.
Austin Passy
1

Você deve acessar várias categorias usando o seguinte:

http://YOURSITE.DEV/wp-json/wp/v2/posts?categories=45+50

Espero que ajude!

Felicidades

Jamie Halvorson
fonte
Não parece funcionar! :)
Jesse P Francis
1

Instale o plug-in de filtro mencionado por Austin ( https://github.com/WP-API/rest-filter ) e tente ?filter[categories]=cat_one_slug%2Bcat_two_slug.

Eu descobri que %2Bé o código equivalente ao +símbolo.

Normalmente usamos +o operador AND, mas infelizmente ele é convertido em um espaço, portanto, use-o %2B.

Louis S
fonte
1

Não parece haver uma maneira de fazer isso na versão atual da API. Sem usar um plug-in, ele pode ser alcançado com um terminal personalizado ou usando a função de filtro de consulta restante para o tipo de postagem específico.

Aqui está uma função de filtro aproximado que adiciona um parâmetro chamado cat_relation:

add_filter( 'rest_post_query', function( $args, $request ) {
    if($request['cat_relation'] == 'AND') {
        $args['category__and'] = $request['categories'];
    }
    return $args;
}, 10, 2);

Portanto, um exemplo de URL de solicitação seria:
http://example.com/wp-json/wp/v2/posts?categories=17,8&cat_relation=AND

Frank
fonte
0

Isto é o que eu fiz, funciona bem.

http://example.com/wp-json/wp/v2/articles/?_embed&categories=1,2,3,4&per_page=30
Thavaprakash Swaminathan
fonte
-1

Para quem está usando o Rest API v3, funciona para mim:

http://example.com/wp-json/wc/v3/products/?category=42,43
vahid sabet
fonte
Esta é a API REST do WooCommerce para produtos e categorias de produtos. A pergunta era sobre postagens e categorias de postagens com a API REST do WordPress.
Jacob Peattie 25/03