Ja, du kannst. Fügen Sie einfach den rest_route
Abfrageparameter hinzu.
Damit
https://wordpress.org/wp-json/
würde werden
https://wordpress.org/?rest_route=/
Oder https://wordpress.org/wp-json/wp/v2/
würde https://wordpress.org/?rest_route=/wp/v2
Ihnen ein vollständigeres Beispiel geben.
Sie fragen sich also, wie Sie entscheiden sollen, welches Sie verwenden möchten? Keine Sorge mehr, dafür gibt es eine Funktion:get_rest_url()
Eine weitere Option ist die Tatsache, dass sich <link>
im Header standardmäßig ein API-Stammverzeichnis befindet.
<link rel='https://api.w.org/' href='https://wordpress.org/wp-json/' />
Für den Fall, dass Sie dies von der Client-Seite aus herausfinden müssen, verwenden Sie einfach etwas in der Art von
document.querySelectorAll('link[rel="https://api.w.org/"]')[0].getAttribute('href');
Grundsätzlich sollten Sie das wp-json
Teil nicht wie angegeben nehmen (und fest codieren), sondern es immer dynamisch erstellen, entweder mit get_rest_url()
oder mit dem oben genannten JS-Ansatz.
https://wordpress.org/?rest_route=SOMEPATH&value1=X&value2=Y
? Dies bedeutet, dass ich eine Bedingung haben muss, um die Permalink-Struktur zu erkennen und die REST-Route basierend darauf zu ändern./?rest_route=/?_jsonp=callBackfn
aber einen 404-Status zu bekommen./?rest_route=/&_jsonp=callBackfn
Sie können eine Umschreibung auf Ihrem Webserver hinzufügen.
ZB für Nginx
quelle
Der
rest_route
Abfrageparameter ist derUgly
Stil von Permalink (Wordpresss Wortwahl nicht meiner). Sie können den Permilink-StilPost name
so ändern, wie in der Abbildung unten dargestellt, und diewp-json
Route sollte in der URL nicht mehr zugänglich sein. Es ist möglich, dass andere dieser Permilink-Stile funktionieren, aberPost name
sie haben für mich funktioniert und ich habe sie nicht weiter untersuchtquelle