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.


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


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


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


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.


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


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

-1

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

http://example.com/wp-json/wc/v3/products/?category=42,43

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.