Technologische Neuigkeiten, Bewertungen und Tipps!

Eine Kurzanleitung zur WordPress REST API

Der folgende Artikel hilft Ihnen dabei: Eine Kurzanleitung zur WordPress REST API

Das Web ist im letzten Jahrzehnt stark gewachsen und WordPress ist leicht zurückgefallen. Immer mehr Anwendungen werden mit JavaScript ins Web gebracht und immer dynamischere Websites werden mit Sprachen wie Python und Ruby erstellt.

Die Entwickler des WordPress-Kerns und sogar einige professionelle WordPress-Entwickler sind der Meinung, dass die starke Abhängigkeit von WordPress von WordPress und der minimale Einsatz von JavaScript viel zu veraltet sind. Dies ist etwas, das die WordPress-REST-API lösen soll.

Das bedeutet nicht, dass WordPress sich von PHP abwendet, aber es bedeutet, dass Entwickler das Erlernen von JavaScript in Betracht ziehen sollten, wenn sie die Vorteile dieser API nutzen möchten.

Was ist die WordPress-REST-API?

Die REST-API ist kein neues Konzept. Tatsächlich definierte Roy Fielding den Begriff „Representational State Transfer“ im Jahr 2000, als er ihn zum Entwerfen von HTTP 1.1 und Uniform Resource Identifiers, besser bekannt als „URIs“, verwendete.

Sie wissen wahrscheinlich bereits, dass APIs die Struktur von Softwareanwendungen sind, die eine Reihe von Tools und Protokollen enthalten, die Entwickler zum Erstellen dieser Anwendungen verwenden können. Die REST-API ähnelt dieser, außer dass sie ihre Anforderungen ausführt und ihre Antworten über das HTTP-Protokoll empfängt.

Reguläre APIs verwenden normalerweise PHP, Python und Ruby, um Anwendungen zu erstellen. Sie können auch andere Sprachen verwenden, diese sind jedoch am beliebtesten. REST-APIs erleichtern durch die Verwendung des HTTP-Protokolls die Verwendung anderer Programmiersprachen wie JavaScript.

WordPress REST-API

Ich habe bereits erklärt, dass es bei der WordPress REST API mehr darum geht, WordPress näher an den Rest des Webs heranzuführen und weniger darum, sich von PHP zu entfernen. Es geht darum, Entwicklern die Verwendung von Sprachen wie JSON und JavaScript zu erleichtern, damit WordPress zu einer vollwertigen Plattform werden kann, mit der weit mehr als nur herkömmliche Websites und Blogs erstellt werden können.

Hier ist die Erklärung von WordPress zur Integration von JSON in die WordPress-REST-API:

Es ist im Wesentlichen darauf ausgelegt, die Lücke zwischen dem PHP-WordPress-Kern und dem JavaScript zu schließen, das heute viele Webanwendungen verwenden. Die Infrastruktur für die WordPress-REST-API wurde im Dezember 2015 in Version 4.4 (Codename „Clifford“) zum WordPress-Kern hinzugefügt. Damals benötigte man ein Plugin, um die REST-API nutzen zu können. Der Rest dieser API, genauer gesagt die Inhaltsendpunkte, wurde jedoch im Dezember 2016 in Version 4.7 (Codename „Vaughan“) zum WordPress-Kern hinzugefügt, wodurch die Notwendigkeit entfällt WP-REST-API Plugin.

So funktioniert die WordPress REST API

Um zu verstehen, wie die WordPress-REST-API funktioniert, müssen Sie verstehen, wie HTTP-Anfragen und -Antworten funktionieren. Wenn Sie eine URL in die Adressleiste eines Browsers eingeben, handelt es sich um eine Anfrage. Wenn der Server die Website oder Anwendung für diese URL anzeigt, ist das eine Antwort.

Wenn Sie mit der Verwendung der WordPress-REST-API beginnen, werden Sie einige verschiedene Arten von Anfragen oder „HTTP-Methoden“ sehen. Hier sind die vier Haupttypen von HTTP-Methoden, die das Web verwendet:

  • ERHALTEN – Wird zum Abrufen von Daten vom Server verwendet
  • POST – Wird zum Senden von Daten an den Server verwendet
  • SETZEN – Wird verwendet, um Daten auf dem Server zu ändern oder zu aktualisieren
  • LÖSCHEN – Wird zum Entfernen von Daten vom Server verwendet

Unter Berücksichtigung dieser einfachen Definitionen ist die Eingabe einer URL in einen Browser eine GET-Anfrage. Die Eingabe Ihrer Anmeldeinformationen für eine Website ist eine POST-Anfrage. Das Ändern Ihres aktuellen Passworts durch ein neues ist eine PUT-Anfrage, während die Kündigung Ihres Kontos eine DELETE-Anfrage ist.

Weitere Begriffe, die Ihnen auffallen werden, sind „Routen“ und „Endpunkte“. Eine Route ist normalerweise die URL oder ein Teil der URL, auf die Sie zugreifen möchten, während ein Endpunkt normalerweise die Antwort ist, die Sie vom Server erhalten.

Wenn externe Quellen HTTP-Anfragen an den Server senden, der Ihre WordPress-Site hostet, stellt die REST-API Ihre Daten auf sichere Weise offen, indem sie auf diese Anfragen mit einer gemeinsamen Architektur und einem eigenen Protokollsatz antwortet.

Dadurch können WordPress-Inhalte wie Beiträge, Seiten und Kommentare als Rohdaten verarbeitet werden. Wir werden gleich einen Blick darauf werfen. Der Gesamtzweck besteht darin, dass Sie Änderungen am Inhalt Ihrer Website vornehmen können, ohne auf den WordPress-Administrationsbereich zugreifen zu müssen. Auf diese Weise können Sie mithilfe von JSON Änderungen an Ihrer Website vornehmen, deren Antworten Entwicklern verschiedene Möglichkeiten bieten, mit ihren Websites zu interagieren.

Machen wir uns ein wenig die Hände schmutzig, um zu sehen, wie das alles funktioniert.

Verwendung der WordPress-REST-API

Wir werden uns mit der eigentlichen Funktionsweise der WordPress-REST-API befassen, aber leider gibt es ein paar Schlüsselkonzepte, die wir zuerst durchgehen müssen, damit alles einen Sinn ergibt. Hier sind die Schlüsselkonzepte, aus denen diese API besteht:

  • Routen und Endpunkte
  • Anfragen
  • Antworten
  • Schema
  • Controller-Klassen

Lasst uns anfangen.

Routen und Endpunkte

Die technische Definition einer Route ist eine URL, die über verschiedene HTTP-Methoden abgebildet werden kann. Die Zuordnung zwischen einer Route und einer HTTP-Methode wird als „Endpunkt“ bezeichnet. Sie können auf die WordPress-REST-API zugreifen und sehen, welche Routen und Endpunkte für Ihre Site verfügbar sind, indem Sie die Route „/wp-json/“ am Ende Ihrer URL hinzufügen.

Sie können dies auf WordPress.org sehen, indem Sie besuchen https://www.wordpress.org/wp-json/:

Installieren Sie eine Erweiterung namens JSON-Viewer für Chrome (JSON-Viewer für Firefox verfügbar Hier), um dieses Chaos zu beseitigen:

Wenn Sie keine hübschen Permalinks verwenden, verwenden Sie „?rest_route=“ anstelle von „wp-json“. Was Sie hier sehen, ist in jedem Fall ein Beispiel für eine Route und einen Endpunkt. „/wp-json/“ und „/?rest_route=/“ sind Routen. Sie ermöglichen Ihnen den Zugriff auf die WordPress-REST-API über die GET-HTTP-Methode. Die Ihnen angezeigte WordPress-REST-API bzw. die Daten, wenn Sie so wollen, sind ein Endpunkt, der uns über eine JSON-Antwort bereitgestellt wird.

Anfragen

Die WordPress REST API verarbeitet Anfragen mit einer Klasse namens WP_REST_Request. Es handelt sich um eine primäre Klasse in der WordPress-REST-API-Infrastruktur. Es wird zum Speichern und Abrufen von Informationen für alle von Ihnen gestellten Anfragen verwendet.

Sie können Anfragen aus der Ferne mit den von uns besprochenen HTTP-Methoden senden oder sie intern wie gewohnt über PHP stellen.

Antworten

Antworten werden mit der Klasse WP_REST_Response verarbeitet. Eine Antwort sind die Daten, die Sie von einer Anfrage erhalten, wie bereits erwähnt. Die API verwendet diese Klasse, um von Endpunkten gesendete Daten zurückzugeben. Es können auch Fehler zurückgegeben werden.

Schema

Schema ist ein Konzept innerhalb der WordPress-REST-API, das verschiedenen Zwecken dient. Das API-Schema definiert die Datenstrukturen, die Endpunkte verwenden können, und enthält eine Liste der Eigenschaften, die die WordPress-REST-API zurückgeben kann. Es enthält auch die Parameter, die die API akzeptieren kann, und sorgt für Sicherheit, indem es die von der API empfangenen Anforderungen validiert.

Controller-Klassen

Die WordPress-REST-API registriert Routen und Endpunkte, verarbeitet Anfragen, verwendet Schema, um die Daten und Eigenschaften zu definieren, die sie verwenden kann, und generiert darüber hinaus API-Antworten. Die API und Sie als Entwickler benötigen eine Möglichkeit, alle diese beweglichen Teile zu verwalten. Dafür gibt es Controller-Klassen. Sie ermöglichen es Ihnen, alle diese Elemente zu sammeln und an einem einzigen Ort zu organisieren.

Verwenden Sie die WordPress-REST-API, um über Endpunkte auf Ihre Inhalte zuzugreifen

Eine Route ist die URL, die Sie verwenden, um auf einen Endpunkt zuzugreifen, und ein Endpunkt ist die Antwort, die Sie vom Server erhalten. Wenn Sie die Beiträge Ihrer Website über die WordPress-REST-API abrufen möchten, verwenden Sie die Route „/wp/v2/posts/“. WordPress erklärt, dass „/wp-json/“ in diesen längeren Routen nicht enthalten ist, da es der „Basispfad für die API selbst“ ist. Die End-URL lautet „example.com/wp-json/wp/v2/posts“.

Wenn Sie über die API auf einen bestimmten Beitrag zugreifen möchten, fügen Sie einfach die ID des Beitrags am Ende der URL hinzu, sodass sie wie folgt aussieht: „example.com/wp-json/wp/v2/posts/123“

Wenn Sie nach Beiträgen suchen möchten, die eine bestimmte Phrase oder ein bestimmtes Schlüsselwort verwenden, verwenden Sie diese Route: „/wp/v2/posts?=search[ ]Die URL sieht also so aus: „example.com/wp-json/wp/v2/posts?search.“[].

Wenn Sie über die API auf das Profil eines bestimmten Benutzers zugreifen möchten, fügen Sie „/users/“ zur Route sowie die Benutzer-ID dieses Benutzers hinzu. Die URL sieht so aus: „example.com/wp-json/wp/v2/users/2“. Wenn Sie auf die Benutzer einer Website zugreifen möchten, lassen Sie die ID weg, sodass die URL wie folgt aussieht: „example.com/wp-json/wp/v2/users/“.

Sie können weitere Endpunkte anzeigen Hier.

Erweiterung der REST-API

Wir überspringen einige Schritte und erfahren, wie Sie die Eigenschaften der REST-API verwenden, um sie zu erweitern. Bevor Sie dies tun, sollten Sie sich mit Dingen wie globalen Parametern, Paginierung, Verlinkung und Einbettung sowie Authentifizierung vertraut machen. In dieser Schnellstartanleitung werden wir jedoch darauf verzichten.

Hier sind einige Dinge, die Sie durch die Erweiterung der REST-API erreichen können:

  • Fügen Sie benutzerdefinierte Endpunkte hinzu
  • Erstellen Sie Routen für benutzerdefinierte Beitragstypen und benutzerdefinierte Taxonomien
  • Antworten ändern

Wenn Sie ein erfahrener Entwickler sind, sind Sie wahrscheinlich bereits mit den Konzepten vertraut, die zum Hinzufügen eines benutzerdefinierten Endpunkts zur REST-API erforderlich sind. Es geht nur darum zu lernen, wie man beides miteinander verbindet.

Sie beginnen mit der Erstellung einer Funktion, die je nach Komplexität der Funktionalität, die Sie der REST-API hinzufügen möchten, einfach oder kompliziert sein kann. Hier ist die einfache Funktion, die WordPress in seinem Handbuch bereitstellt, eine Funktion, mit der Sie die Titel der neuesten Beiträge Ihrer Website nach Autor ermitteln können:

$data[‘id’], ) ); if ( empty( $posts ) ) { return null; } $posts zurückgeben[0]->post_title; }

Danach müssen Sie eine Route registrieren, um diese Funktion der API verfügbar zu machen, indem Sie eine andere Funktion namens register_rest_route verwenden. Hier ist die Funktion, die WordPress verwendet, um die Route für die vorherige Funktion zu registrieren:

\d+)’, array( ‘methods’ => ‘GET’, ‘callback’ => ‘my_awesome_func’, ) ); } );

Hier passieren einige Dinge. Erstens gibt es drei Eigenschaften, die diese Funktion durchlaufen. Dies sind der Namespace („myplugin/v1“), die Route, die wir registrieren müssen („my_awesome_func“) und die Optionen, die wir verwenden möchten („author/(?P\d+)“). Die Funktion register_rest_route wird auch für eine Rückruffunktion namens „rest_api_init“ aufgerufen. Dadurch wird die Menge an unnötiger Arbeit reduziert, die ausgeführt wird, wenn die API nicht verwendet wird.

Wie WordPress erklärt, ist diese Route so konzipiert, dass sie alles mit „/author/{id}“ übereinstimmt, wobei „{id}“ eine ganze Zahl ist. Dies ist die URL, die Sie besuchen würden, um diese Route zu nutzen – http://example.com/wp-json/myplugin/v1/author/(?P\d+). Diese spezielle Route verwendet einen Endpunkt, Routen können jedoch mehrere Endpunkte haben. Wie Sie sehen, haben wir auch die HTTP-Methode definiert, die dieser Endpunkt verwenden würde.

Andere Konzepte, die Sie benötigen

Es gibt einige zusätzliche Konzepte, die Sie lernen müssen, wenn Sie die REST-API erweitern möchten, sofern Sie damit noch nicht vertraut sind. Wir haben in der obigen Funktion einen Namensraum verwendet, weshalb der erste Teil der obigen URL „myplugin/v1“ lautet. Sie werden als Präfixe verwendet, um Konflikte mit benutzerdefinierten Routen zu verhindern.

Argumente sind ein weiteres Konzept, mit dem Sie vertraut sein sollten, da sie es Ihnen ermöglichen, eine Bereinigung und Validierung durchzuführen, indem Sie sie zusammen mit der Routenregistrierung registrieren. Sie sollten sich auch mit den Rückgabewerten vertraut machen, da Sie diese verwenden, um die Art der Antwort zu definieren, die Sie vom Server erhalten. Sie können sie sogar verwenden, um Fehler zurückzugeben, beispielsweise einen 404-Fehler, der angezeigt wird, wenn ein Autor keine Beiträge veröffentlicht hat.

Rückrufe sind ein weiteres Konzept, das Sie kennen sollten, beispielsweise Funktionen, die als Berechtigungsrückrufe bekannt sind und prüfen, ob ein Benutzer eine Aktion ausführen kann, bevor die Funktion versucht, den eigentlichen Rückruf aufzurufen. Wenn Sie sich schließlich mit internen Klassen und Controller-Mustern vertraut machen, können Sie jeden Aspekt der von Ihnen erstellten Endpunkte verwalten.

Abschließende Gedanken und wohin es von hier aus gehen soll

Es kann überwältigend sein, die Schlüsselkonzepte der WordPress-REST-API zu verstehen und zu lernen, wie man sie verwendet und erweitert, aber die Hersteller von WordPress sind ziemlich zuversichtlich, dass es dem CMS die nötige Kraft verleihen wird, um weit über seine Fähigkeiten als Plattform hinaus zu wachsen um einfache Websites und Blogs zu erstellen.

Wie bereits erwähnt, sollte das Erlernen von JavaScript derzeit oberste Priorität haben, da es sich um die Sprache handelt, die die Entwickler von WordPress häufiger in WordPress-Projekte integrieren sollen.

Sie sollten sich auch das WordPress-REST-API-Handbuch durchlesen, um ein besseres Verständnis für die Herangehensweise von WordPress an die REST-API zu erlangen. Der Verwendung der REST-API Der Abschnitt enthält Anleitungen zur Verwendung globaler Parameter, Paginierung, Einbettung und Verknüpfung sowie Authentifizierung, alles Schlüsselkonzepte dieser API.

Sobald Sie das alles ziemlich gut verstanden haben, können Sie das durchgehen Erweiterung der REST-API Im Abschnitt erfahren Sie ausführlich, wie Sie die API erweitern können. Sie erfahren mehr über das Hinzufügen benutzerdefinierter Endpunkte und erfahren, wie Sie benutzerdefinierte Inhaltstypen verwenden und Antworten ändern.