wake-up-neo.net

wp rest api v2 return json_no_route

ich benutze WP Rest API v1 und alles ist in Ordnung.

Aber jetzt möchte ich ein paar WP Rest API v2 probieren. Das Problem ist, wenn ich anrufe:

mysite.com/wp-json/wp/v2/posts

oder:

mysite.com/wp-json/wp/v2/post

oder

mysite.com/wp-json/wp/v2/posts/

oder irgendetwas anderes hängt mit diesem Pfad zusammen:

mysite.com/wp-json/wp/v2 ...

das Ergebnis ist:

[{"code":"json_no_route","message":"\u0647\u06cc\u0686 \u0645\u0633\u06cc\u0631 \u062a\u0637\u0628\u06cc\u0642 URL \u0648 \u0631\u0648\u0634 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u067e\u06cc\u062f\u0627 \u0634\u062f"}]

und ich weiß nicht, was das Problem ist und der Punkt ist, dass ich WP Rest API v1 und v2 zusammen verwenden möchte, also ist das Deaktivieren von WP Rest API v1 keine Option.

PS: Ich habe WP rest API v2 entfernt und hinzugefügt, aber es hat sich nichts geändert.

5
mil

OK, ich finde meine Antwort. Fragen Sie es einfach hier und wie der liebe Charles sagte, antworteten sie mir so schnell, die Antwort ist:

Standardmäßig hat WP-API v1 Vorrang vor v2. Wenn v1 installiert und aktiviert ist, kann nicht auf v2-Routen zugegriffen werden.

Um dies zu vermeiden, müssen Sie entweder v1 oder v2 auf einer anderen Basis als wp-json registrieren. Beide haben Filter, um dies mehr oder weniger einfach zu ermöglichen:

add_filter( 'rest_url_prefix', function() {
    return 'wp-api';
});

und weil ich kein WordPress - Typ bin, weiß ich nicht, wo ich diese Zeilen hinzufügen soll, damit ich Hilfe von diesem Blog bekomme und die Zeilen zu den Zeilen hinzufüge

function.php

von meinen ihnen.

4
mil