Ho interferito con l'API REST e sono bloccato con questo: come posso filtrare i post sia in cat1 che cat2?
Per ora, ?categories[]=45&categories[]=50
ritorna nella categoria ID 45 O 50 - come posso ottenere post in 45 E 50?
Grazie in anticipo.
Ho interferito con l'API REST e sono bloccato con questo: come posso filtrare i post sia in cat1 che cat2?
Per ora, ?categories[]=45&categories[]=50
ritorna nella categoria ID 45 O 50 - come posso ottenere post in 45 E 50?
Grazie in anticipo.
Risposte:
Più categorie possono essere separate da una virgola come di seguito
http://example.com/wp-json/wp/v2/posts?categories=20,30
spero che sia di aiuto
@Jesse vedi: WP-API / WP-API # 2990
Da WP 4.7, filter
è stato rimosso da WP-API.
Devi usare questo plugin: https://github.com/WP-API/rest-filter
Dovresti essere in grado di accedere a più categorie utilizzando quanto segue:
http://YOURSITE.DEV/wp-json/wp/v2/posts?categories=45+50
Spero che aiuti!
Saluti
Installa il plug-in filtro citato da Austin ( https://github.com/WP-API/rest-filter ) e prova ?filter[categories]=cat_one_slug%2Bcat_two_slug
.
Ho scoperto che %2B
è l'equivalente in codice del +
simbolo.
Normalmente useremmo +
per l'operatore AND ma sfortunatamente viene convertito in uno spazio, quindi usa %2B
invece.
Non sembra esserci un modo per farlo nella versione corrente dell'API. Senza utilizzare un plug-in, è possibile ottenerlo con un endpoint personalizzato o utilizzando la funzione filtro query di riposo per il tipo di post specifico.
Ecco una funzione di filtro approssimativo che aggiunge un parametro chiamato cat_relation
:
add_filter( 'rest_post_query', function( $args, $request ) {
if($request['cat_relation'] == 'AND') {
$args['category__and'] = $request['categories'];
}
return $args;
}, 10, 2);
Quindi un URL di richiesta di esempio sarebbe:
http://example.com/wp-json/wp/v2/posts?categories=17,8&cat_relation=AND
Questo è quello che ho fatto, funziona benissimo.
http://example.com/wp-json/wp/v2/articles/?_embed&categories=1,2,3,4&per_page=30
Per coloro che utilizzano Rest API v3, funziona per me:
http://example.com/wp-json/wc/v3/products/?category=42,43