Wie kann ich mit WP-API eine Liste von Beiträgen für eine Kategorie erhalten?

Lesezeit: 3 Minuten

Sollte einfach sein, habe es aber nicht im gefunden WP-API-Dokumentation.

Benutzeravatar von thomers
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 ist MyCategory?

    – 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

1401970cookie-checkWie kann ich mit WP-API eine Liste von Beiträgen für eine Kategorie erhalten?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy