Sollte einfach sein, habe es aber nicht im gefunden WP-API-Dokumentation.
Wie kann ich mit WP-API eine Liste von Beiträgen für eine Kategorie erhalten?
thomers
Etwas gefunden [hidden][1]
Verwendung des Kategorienamens:
/posts?categories=1
Probier diese.
-
Hm, eigentlich nicht das in den Dokumenten versteckt: wp-api.org/#posts_retrieve-posts_input
– thomer
18. Februar 2015 um 12:16 Uhr
-
Der Link in Ihrem Kommentar scheint nicht mehr korrekt zu sein (vielleicht wurde er bei einem Versionswechsel geändert?). Wie auch immer, ist es möglich, einen Negativfilter zu verwenden, z. B. alle Beiträge, die keinen haben
category_name
das istMyCategory
?– Der unbekannte Entwickler
18. Oktober 2016 um 15:24 Uhr
-
Geändert in v2
&categories=1
– Tom Woodward
29. Mai 2017 um 15:58 Uhr
-
Es sieht so aus, als ob WordPress seit WordPress 4.7 Filter von der API entfernt hat. Die Antwort von @TomWoodward funktioniert.
– Geochanto
30. Januar 2019 um 20:28 Uhr
Diese Frage ist ein Duplikat von diese andere Frage hier aus dem Forum
http://example.com/wp-json/wp/v2/posts?categories=20,30
Das obige gibt Beiträge von zurück category 20 OR category 30
Ich habe mit benutzerdefinierten Beitragstypen getestet und es funktioniert auch perfekt
Die Antwort und die Credits gehen an „Manish Jung Thapa“
-
Wie macht man die Beziehung UND?
– Mohamad Alasly
3. Juni 2021 um 6:55 Uhr
Für den Kategorienamen sollten zwei Filter wie folgt hinzugefügt werden:
add_filter( "rest_post_query", function( $args, $request){
if ( isset( $request['category_name']) && !empty($request['category_name'] ) ) {
$args['category_name'] = $request['category_name'];
}
return $args;
}, 10, 2);
add_filter( "rest_post_collection_params", function($query_params, $post_type){
$query_params[ 'category_name' ] = array(
'description' => __( 'Category name.' ),
'type' => 'string',
'readonly' => true,
);
return $query_params;
}, 10, 2);
-
Das funktioniert immer noch, ich glaube, ich habe das trotzdem in der Github-Ausgabe gesehen.
– Spaten
23. Mai 2017 um 18:30 Uhr
-
Vielen Dank! Damit dies funktioniert, ist mir aufgefallen, dass der Abfrageparameter category_name VOR dem Parameter _fields stehen muss.
– S. Roose
9. April 2021 um 10:43 Uhr
Dieser Code funktioniert bei mir
Fügen Sie Ihrer function.php hinzu
function rest_filter_by_custom_taxonomy( $args, $request ) {
if ( isset($request['category_slug']) )
{
$category_slug = sanitize_text_field($request['category_slug']);
$args['tax_query'] = [
[
'taxonomy' => 'category',
'field' => 'slug',
'terms' => $category_slug,
]
];
}
return $args;
}
add_filter('rest_post_query', 'rest_filter_by_custom_taxonomy', 10, 3);
Bsp.: /wp-json/wp/v2/posts?category_slug=news
Diese Beispiel-URL hat bei mir funktioniert … https://yourdomain.com/?rest_route=/wp/v2/posts&categories=99
-
Was fügt dieser Beitrag dieser Frage hinzu, was die anderen Antworten nicht tun?
– Blau
29. Januar 2018 um 21:11 Uhr
-
Sie müssen diesen ganzen Code oben nicht hinzufügen – Sie können einfach über die Adressleiste auf die Rohdaten zugreifen.
– ja de
30. Januar 2018 um 14:23 Uhr
-
Diese Antwort enthält keinen Code und fasst diesen Beitrag ziemlich gut zusammen.
– Blau
30. Januar 2018 um 14:27 Uhr
-
Was fügt dieser Beitrag dieser Frage hinzu, was die anderen Antworten nicht tun?
– Blau
29. Januar 2018 um 21:11 Uhr
-
Sie müssen diesen ganzen Code oben nicht hinzufügen – Sie können einfach über die Adressleiste auf die Rohdaten zugreifen.
– ja de
30. Januar 2018 um 14:23 Uhr
-
Diese Antwort enthält keinen Code und fasst diesen Beitrag ziemlich gut zusammen.
– Blau
30. Januar 2018 um 14:27 Uhr