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[]=50
retorna na categoria ID 45 OR 50 - como posso obter postagens em 45 AND 50?
Desde já, obrigado.
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[]=50
retorna na categoria ID 45 OR 50 - como posso obter postagens em 45 AND 50?
Desde já, obrigado.
Respostas:
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
@ Jessé ver: WP-API / WP-API # 2990
Desde o WP 4.7, filter
foi removido do WP-API.
Você precisa usar este plugin: https://github.com/WP-API/rest-filter
Você deve acessar várias categorias usando o seguinte:
http://YOURSITE.DEV/wp-json/wp/v2/posts?categories=45+50
Espero que ajude!
Felicidades
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
.
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
Isto é o que eu fiz, funciona bem.
http://example.com/wp-json/wp/v2/articles/?_embed&categories=1,2,3,4&per_page=30
Para quem está usando o Rest API v3, funciona para mim:
http://example.com/wp-json/wc/v3/products/?category=42,43