Eine Einführung in die WordPress-REST-API
Veröffentlicht: 2022-10-19Im Dezember 2016 wurde mit der Veröffentlichung von WordPress 4.7 ein lang diskutierter Meilenstein erreicht: Die WordPress REST API wurde offiziell als Teil von WordPress Core aufgenommen.
Obwohl die REST-API schon vor der offiziellen Zusammenführung mit Core als Plugin existierte, löste ihre spätere Aufnahme eine ziemliche Debatte aus, wobei Argumente sowohl für ihre Aufnahme als auch für die Notwendigkeit weiterer Tests vorgebracht wurden.
Letztendlich wurde die REST-API in Core zusammengeführt und unterstützt nun den Blockeditor sowie viele Integrationen von Drittanbietern und Schnittstellen mit WordPress-Sites im gesamten Web.
Für viele WordPress-Benutzer war dies jedoch das erste Mal, dass sie jemals von der REST-API jeglicher Art gehört haben, geschweige denn von einer so eng in WordPress integrierten.
In diesem Artikel werfen wir einen Blick darauf, was eine REST-API ist, wie einzigartig die WordPress-REST-API ist, und einige Beispiele dafür, wie sie funktioniert und einige der Arten von Technologien, die jetzt aktiviert werden, da sie in WordPress enthalten sind Kern.
Was ist eine REST-API?
Der Begriff REST-API besteht eigentlich aus zwei Akronymen in einem und beide sind wichtig, um zu verstehen, wie die WordPress-REST-API funktioniert und was sie tut.
Was ist REST?
Der erste Teil, REST, steht für REpresentational State Transfer. So einfach wie möglich ausgedrückt, ist dies eine Spezifikation, die definiert, wie zwei separate Ressourcen im Web miteinander kommunizieren sollen. Diese beiden Schnittstellen können zwei verschiedene Websites, ein Webserver, eine mobile Anwendung und vieles mehr sein.
Ein Dienst, der dieser Spezifikation folgt, wird oft als RESTful-Dienst bezeichnet und stellt sicher, dass der Client, der Informationen anfordert, nichts über den Status des Servers wissen muss und wie Client und Server modularer und getrennter sein können als bei anderen Methoden zum Transport von Daten über das Internet.
Wenn ein Entwickler weiß, dass er mit einem RESTful-Dienst interagiert, kann er im Wesentlichen bestimmte Annahmen darüber treffen, wie seine Anfragen formatiert werden und welche Art von Daten er im Gegenzug erhält, was bei der Entwicklung vernetzter Technologien sehr hilfreich ist.
Wenn Sie genauer darauf eingehen möchten, was genau einen RESTful-Service ausmacht und wie diese Art von Anfragen gestellt werden, würde ich Ihnen wärmstens empfehlen, sich den Artikel von Codecademy mit dem Titel What is REST?
Was ist eine API?
API steht für Application Programming Interface und stellt, wie der Name schon sagt, eine Schnittstelle für andere Clients und Dienste im Internet bereit, um mit einer bestimmten Anwendung zu interagieren. Es gibt Endpunkte an, normalerweise URLs, an die Daten gesendet werden können, ob diese URLs Daten zurückgeben oder Ressourcen auf dem Server erstellen und ob für den Zugriff auf diese Endpunkte eine bestimmte Art der Authentifizierung erforderlich ist.
Für viele beliebte Dienste im Internet bieten APIs heute eine automatisierte Möglichkeit, das zu tun, was ein Benutzer manuell tun könnte, indem sie einem Skript oder Codestück erlauben, die gleiche Aktion durchzuführen, wenn ein Benutzer anwesend ist. Wenn Sie beispielsweise Reddit verwenden und feststellen, dass Sie in vielen der von Ihnen durchsuchten Threads die gleiche Art von Kommentaren schreiben, können Sie ein Skript erstellen, das Reddit nach diesen Arten von Kommentaren durchsucht und automatisch Ihre Standardantwort über die API von Reddit veröffentlicht.
Durch die Offenlegung ihrer Infrastruktur über eine API müssen sich Benutzer nicht auf spröde Web-Scraping-Methoden zur Automatisierung dieser Art von Aufgaben verlassen, und Reddit kann nachverfolgen, wer über ihre API auf ihre Ressourcen zugreift, wie oft sie dies tun, und kontrollieren für eine Nutzung, die außerhalb ihrer Nutzungsbedingungen liegt.
Warum brauchte WordPress eine REST-API?
Wenn Sie jemals API-ähnliche Anfragen an WordPress gestellt haben, bevor die REST-API Teil von Core war, sind Sie vielleicht mit dem Konzept von admin-ajax vertraut. Dies war die ursprüngliche Art, Anfragen wie diese in WordPress zu stellen, wo jede Anfrage durch die Datei admin-ajax.php geleitet, auf bestimmte Aktionen geprüft wurde, die Entwickler aktiver Plugins oder Themes registriert hatten, und dann diese registrierten Funktionen verwendet wurden die Wünsche erfüllen.
Wie Sie vielleicht erwarten, bedeutete dies, dass jeder Entwickler, der API-ähnliche Anfragen verwendete, diese Funktionalität als Teil seines Plugins oder Designs aktivierte, dies etwas anders tat und jeder, der mit dieser Funktionalität interagieren wollte, sich mit der Funktionsweise jedes Plugins oder Designs vertraut machen musste gebaut. Die WordPress-REST-API wurde eingeführt, um die Art und Weise zu standardisieren, wie diese Anfragen gestellt wurden, und um eine weitreichendere Reihe von Endpunkten bereitzustellen, die für die Interaktion mit WordPress Core selbst verwendet werden können.
Eine Beispielanfrage an die WordPress-REST-API
Das WordPress-REST-API-Handbuch enthält eine vollständige Liste der Endpunkte, die von der WordPress-REST-API standardmäßig unterstützt werden. Und obwohl es großartig ist, eine vollständige Liste zu haben, kann es ein bisschen überwältigend sein. Werfen wir einen Blick auf die wohl grundlegendste Funktionalität jeder API-Interaktion: das Abrufen der grundlegenden Ressource der API. Im Fall von WordPress wird diese Ressource veröffentlicht.
Allen Endpunkten der WordPress-REST-API ist der URL-Pfad wp-json
zwischen der Stammdomäne und dem, was im REST-API-Handbuch als Base Route
bezeichnet wird, vorangestellt. Wenn wir also auf den Endpunkt zugreifen, um die Posts der Website aufzulisten, und die URL für unsere Website example.com
lautet, müssen wir eine Anfrage an die URL https://example.com/wp-json/wp/v2/posts
stellen. https://example.com/wp-json/wp/v2/posts
.
Wenn Sie eine GET-Anfrage stellen, indem Sie entweder einfach diese URL in Ihren bevorzugten Webbrowser laden oder einen API-Browser wie Postman verwenden, sollten Sie eine Liste mit Posts von der API zurückgeben, obwohl sie möglicherweise nicht in einem von Ihnen verwendeten Format vorliegen Zu. Wenn Sie nur eine lange Textfolge sehen, sehen Sie sich ein Datenformat an, das als JSON bekannt ist. Wenn Sie über Ihren Browser auf den API-Endpunkt zugreifen und diese Informationen in einem besser lesbaren Format anzeigen möchten, würde ich empfehlen, die JSON Viewer-Erweiterung zu installieren. Dadurch wird jede JSON-Ausgabe in Ihrem Browser erkannt und so formatiert, dass Sie sie leichter lesen können. Wenn diese installiert ist, sollten Sie die Post-Datenausgabe von der WordPress-REST-API sehen und Sie haben erfolgreich Ihre erste REST-API-Anfrage gestellt!
Was kann die WordPress-REST-API noch?
Abgesehen davon, dass Sie eine Liste der neuesten Beiträge auf einer WordPress-Site abrufen und sich die Endpoint-Referenz ansehen, werden Sie feststellen, dass es eine Menge anderer Möglichkeiten gibt, wie Sie mit der WordPress-REST-API interagieren können. Wenn Sie als WordPress-Benutzer authentifiziert sind, können Sie Beiträge über die API veröffentlichen, eine Liste der für die Website verfügbaren Designs erhalten, Einstellungen anzeigen und bearbeiten sowie viele der anderen Funktionen, mit denen über wp-admin manuell interagiert werden kann .
Einige Beispiele der WordPress REST API in Aktion
Die Offenlegung der Möglichkeit, mit WordPress über die REST-API zu interagieren, eröffnete eine Vielzahl von Möglichkeiten für Websites, die WordPress nun als Backend für die Inhaltsverwaltung verwenden könnten.
TechCrunch : Kurz nachdem die WordPress REST API angekündigt wurde, gab TechCrunch bekannt, dass es seine Website mit einer Headless-Architektur neu aufgebaut hatte, was bedeutete, dass sie WordPress im Backend als Content-Management-System verwenden, während sie immer noch in der Lage sind, eine „einzelne Seite“ zu verwenden style React App“ auf dem Frontend.
Blockeditor (Gutenberg) : Vielleicht ist die Verwendung der REST-API, von der die meisten Menschen profitiert haben, der WordPress-Blockeditor. Jetzt, dem Mainstream-Editor in WordPress, wird ein Großteil der Block-Editor-Funktionalität durch die Tatsache aktiviert, dass er ohne mit den WordPress-REST-API-Endpunkten interagieren kann
Alle Arten von Community-Projekten : Als die REST-API zum ersten Mal in Erwägung gezogen wurde, in einen Kern zusammengeführt zu werden, ging ein öffentlicher Aufruf aus, in dem die Leute gebeten wurden, mehr darüber zu sprechen, wie sie die REST-API verwenden. Die Antworten waren sehr breit gefächert, was Sie von einer so großen Community wie WordPress erwarten können, umfassten aber alles von Plugins mit interaktiveren Schnittstellen als zuvor möglich bis hin zu Menschen, die mobile Apps für ihre Kunden erstellen, die WordPress-Inhalte nutzen können.
Einpacken
Auch wenn Sie keine Erfahrung mit der Verwendung von APIs haben, haben Sie wahrscheinlich irgendwann in Ihrer Karriere etwas verwendet, das auf der WordPress-REST-API basiert, um zu funktionieren. Da Schnittstellen immer dynamischer werden und Websites mehr Aktionen haben, die kein Laden der Seite erfordern.
Jetzt, da Sie wissen, was die WordPress-REST-API ist, denken Sie vielleicht über einige Dinge nach, die Sie damit erstellen können! Die REST-API kann definitiv ein leistungsstarkes Tool in Ihrer Toolbox sein, um noch bessere WordPress-Themes und Plugins zu erstellen.
Wenn Sie etwas mehr Erläuterungen oder einige Beispiele dafür benötigen, was möglich ist, werfen Sie einen Blick auf die Dokumentation und springen Sie direkt hinein!