Eine Schnellstartanleitung für die WordPress REST API

 Eine Schnellstartanleitung für die WordPress REST API

Patrick Harvey

Das Web hat sich in den letzten zehn Jahren stark weiterentwickelt, und WordPress ist ein wenig ins Hintertreffen geraten. Immer mehr Anwendungen werden mit JavaScript ins Web gebracht, und immer mehr dynamische Websites werden mit Sprachen wie Python und Ruby erstellt.

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

Das bedeutet nicht, dass WordPress sich von PHP entfernt, aber es bedeutet, dass Entwickler JavaScript lernen sollten, wenn sie die Vorteile dieser API nutzen wollen.

Siehe auch: NitroPack Review 2023 (mit Testdaten): Beschleunigen Sie Ihre Website mit einem Tool

Was ist die WordPress REST API?

Die REST-API ist kein neues Konzept: Roy Fielding definierte den Begriff "Representational State Transfer" im Jahr 2000, als er ihn für die Entwicklung von HTTP 1.1 und Uniform Resource Identifiers, besser bekannt als "URIs", verwendete.

Wahrscheinlich wissen Sie bereits, dass APIs die Struktur von Softwareanwendungen sind, die eine Reihe von Tools und Protokollen enthalten, die Entwickler zur Erstellung dieser Anwendungen verwenden können. REST-API ist dem ähnlich, außer dass es seine Anfragen über das HTTP-Protokoll durchführt und seine Antworten erhält.

Reguläre APIs verwenden in der Regel PHP, Python und Ruby zur Erstellung von Anwendungen. Sie können auch andere Sprachen verwenden, aber diese sind die beliebtesten. REST-APIs erleichtern durch die Verwendung des HTTP-Protokolls die Nutzung anderer Programmiersprachen wie JavaScript.

WordPress REST API

Wie ich bereits erläutert habe, geht es bei der WordPress REST API weniger um die Abkehr von PHP als vielmehr um die Annäherung von WordPress an den Rest des Webs. 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:

Die WordPress REST-API bietet API-Endpunkte für WordPress-Datentypen, die es Entwicklern ermöglichen, durch das Senden und Empfangen von JSON-Objekten (JavaScript Object Notation) remote mit Websites zu interagieren. JSON ist ein offenes Standard-Datenformat, das leichtgewichtig und für den Menschen lesbar ist und wie Objekte in JavaScript aussieht; daher der Name. Wenn Sie Inhalte an die API senden oder eine Anfrage an die API stellen, wird die AntwortDies ermöglicht es Entwicklern, WordPress-Inhalte von clientseitigem JavaScript oder von externen Anwendungen aus zu erstellen, zu lesen und zu aktualisieren, auch wenn diese in anderen Sprachen als PHP geschrieben sind.

Sie wurde im Wesentlichen entwickelt, um die Lücke zwischen dem PHP-Kern von WordPress und dem JavaScript, das viele Webanwendungen heute verwenden, zu schließen. Die Infrastruktur für die WordPress REST API wurde dem WordPress-Kern in Version 4.4 (Codename "Clifford") im Dezember 2015 hinzugefügt. Damals war ein Plugin erforderlich, um die REST API zu nutzen. Der Rest dieser API, genauer gesagt die Inhaltsendpunkte, wurde jedoch inWordPress Core in Version 4.7 (Codename "Vaughan") im Dezember 2016, wodurch das WP REST API Plugin überflüssig wurde.

Wie die WordPress REST API funktioniert

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

Wenn Sie die WordPress REST-API verwenden, werden Sie einige verschiedene Arten von Anfragen oder "HTTP-Methoden" sehen. Hier sind die vier wichtigsten Arten von HTTP-Methoden, die das Web verwendet:

  • GET - Dient zum Abrufen von Daten vom Server
  • POST - Dient zum Senden von Daten an den Server
  • PUT - Dient zur Änderung oder Aktualisierung von Daten auf dem Server
  • DELETE - Dient zum Entfernen von Daten vom Server

Mit diesen einfachen Definitionen im Hinterkopf ist die Eingabe einer URL in einem Browser eine GET-Anfrage. Die Eingabe Ihrer Anmeldeinformationen für eine Website ist eine POST-Anfrage. Die Änderung Ihres aktuellen Passworts in ein neues ist eine PUT-Anfrage, während die Kündigung Ihres Kontos eine DELETE-Anfrage ist.

Siehe auch: 32 Top Ecommerce-Statistiken für 2023: Die endgültige Liste

Weitere Begriffe, die Ihnen auffallen werden, sind "Routen" und "Endpunkte": Eine Route ist in der Regel die URL oder ein Teil der URL, auf die Sie zugreifen wollen, während ein Endpunkt in der Regel die Antwort ist, die Sie vom Server erhalten.

Wenn externe Quellen HTTP-Anfragen an den Server senden, auf dem Ihre WordPress-Website gehostet wird, macht die REST-API Ihre Daten auf sichere Weise zugänglich, indem sie auf diese Anfragen mit einer gemeinsamen Architektur und eigenen Protokollen antwortet.

Dies ermöglicht die Verarbeitung von WordPress-Inhalten wie Beiträgen, Seiten und Kommentaren als Rohdaten. Wir werden gleich einen Blick darauf werfen. Der Sinn dieser Funktion besteht darin, dass Sie Änderungen an den Inhalten Ihrer Website vornehmen können, ohne auf den WordPress-Administrationsbereich zugreifen zu müssen. So können Sie Änderungen an Ihrer Website mithilfe von JSON vornehmen, dessen Antworten Entwicklern verschiedene Möglichkeiten zur Interaktion bietenmit ihren Websites.

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

WordPress REST API verwenden

Wir werden uns damit befassen, wie man tatsächlich verwenden. die WordPress REST API, aber leider gibt es ein paar Schlüsselkonzepte, die wir zuerst durchgehen müssen, damit alles Sinn macht. Hier sind die Schlüsselkonzepte, aus denen diese API besteht:

  • Routen & Endpunkte
  • Anfragen an
  • Antworten
  • Schema
  • Controller-Klassen

Kommen wir zur Sache.

Routen & Endpunkte

Die technische Definition einer Route ist eine URL, die durch verschiedene HTTP-Methoden abgebildet werden kann. Die Abbildung 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 Website verfügbar sind, indem Sie die Route "/wp-json/" an das Ende Ihrer URL anhängen.

Sie können dies auf WordPress.org unter //www.wordpress.org/wp-json/ sehen:

Installieren Sie eine Erweiterung namens JSON Viewer für Chrome (JSON Viewer für Firefox ist hier erhältlich), um dieses Chaos zu beseitigen:

Wenn Sie keine hübschen Permalinks verwenden, verwenden Sie "?rest_route=" anstelle von "wp-json". So oder so ist das, was Sie hier sehen, 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 WordPress REST API, die Ihnen angezeigt wird, oder die Daten, wenn Sie so wollen, ist ein Endpunkt, der uns über eine JSON-Antwort bereitgestellt wird.

Anfragen an

Die WordPress REST API verarbeitet Anfragen mit einer Klasse namens WP_REST_Request. Sie ist eine primäre Klasse in der WordPress REST API-Infrastruktur. Sie wird verwendet, um Informationen für alle Anfragen zu speichern und abzurufen, die Sie stellen.

Sie können Anfragen per Fernzugriff mit den besprochenen HTTP-Methoden senden oder sie intern wie gewohnt mit PHP erstellen.

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. Sie kann auch Fehler zurückgeben.

Schema

Schema ist ein Konzept innerhalb der WordPress REST-API, das einer Vielzahl von Zwecken dient. API-Schema definiert die Datenstrukturen, die Endpunkte verwenden können, und es 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 ihre Sicherheit, indem es die Anfragen validiert, die die API erhält.

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, all diese beweglichen Teile zu verwalten. Dafür sind Controller-Klassen da. Sie ermöglichen es Ihnen, all diese Elemente zu sammeln und sie an einem einzigen Ort zu organisieren.

Verwendung der WordPress REST API für den Zugriff auf Ihre Inhalte über Endpunkte

Eine Route ist die URL, die Sie für den Zugriff auf einen Endpunkt verwenden, 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/" nicht in diesen längeren Routen enthalten ist, weil 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 an das Ende der URL an, so dass sie wie folgt aussieht: "example.com/wp-json/wp/v2/posts/123"

Wenn Sie nach Beiträgen suchen möchten, die einen bestimmten Ausdruck oder ein bestimmtes Schlüsselwort enthalten, verwenden Sie diesen Weg: "/wp/v2/posts?=search[ Stichwort hier einfügen ]", so dass die URL wie folgt aussieht: "example.com/wp-json/wp/v2/posts?search[ Stichwort hier einfügen ].

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

Weitere Endpunkte können Sie hier einsehen.

Erweitern der REST-API

Wir werden ein paar Schritte überspringen und lernen, wie man die Eigenschaften der REST-API nutzt, um sie zu erweitern. Sie sollten sich vorher mit Dingen wie globalen Parametern, Paginierung, Verlinkung und Einbettung sowie Authentifizierung vertraut machen, aber für die Zwecke dieser Schnellstartanleitung werden wir das überspringen.

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

  • Benutzerdefinierte Endpunkte hinzufügen
  • Routen für benutzerdefinierte Beitragstypen und benutzerdefinierte Taxonomien erstellen
  • Antworten modifizieren

Als erfahrener Entwickler sind Sie wahrscheinlich bereits mit den Konzepten vertraut, die erforderlich sind, um der REST-API einen benutzerdefinierten Endpunkt hinzuzufügen. Sie müssen nur noch lernen, wie Sie die beiden miteinander verbinden.

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

 $data['id'], ) ); if ( empty( $posts ) ) { return null; } return $posts[0]->post_title; } 

Danach müssen Sie eine Route registrieren, um diese Funktion für die 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:

 php add_action( 'rest_api_init', function () { register_rest_route( 'myplugin/v1', '/author/(?P\d+)', array( 'methods' = 'GET', 'callback' => 'my_awesome_func', ) ); } ); 

Hier passieren mehrere Dinge: Erstens werden drei Eigenschaften durch diese Funktion geleitet: der Namespace ("myplugin/v1"), die zu registrierende Route ("my_awesome_func") und die zu verwendenden Optionen ("author/(?P\d+)"). Die Funktion register_rest_route wird auch über eine Callback-Funktion namens "rest_api_init" aufgerufen. Dadurch wird unnötige Arbeit vermiedendie durchgeführt wird, wenn die API nicht verwendet wird.

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

Andere Konzepte, die Sie benötigen

Es gibt ein paar zusätzliche Konzepte, die Sie lernen müssen, wenn Sie die REST-API erweitern möchten, sofern Sie nicht bereits damit vertraut sind. Wir haben in der obigen Funktion einen Namespace verwendet, weshalb der erste Teil der obigen URL "myplugin/v1" lautet. Sie werden als Präfixe verwendet, um Überschneidungen mit benutzerdefinierten Routen zu vermeiden.

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 bei der Registrierung von Routen registrieren. Sie sollten sich auch mit Rückgabewerten vertraut machen, da Sie diese verwenden werden, um die Art der Antwort zu definieren, die Sie vom Server erhalten. Sie können sie sogar verwenden, um Fehler zurückzugeben, wie z. B. einen 404-Fehler, der angezeigt wird, wenn ein Autor keinekeine Beiträge veröffentlicht.

Rückrufe sind ein weiteres Konzept, das Sie kennen sollten, wie z. B. Funktionen, die als Berechtigungsrückrufe bekannt sind und die prüfen, ob ein Benutzer eine Aktion ausführen kann, bevor die Funktion versucht, den eigentlichen Rückruf aufzurufen. Schließlich hilft Ihnen die Vertrautheit mit internen Klassen und Controller-Mustern bei der Verwaltung aller Aspekte der von Ihnen erstellten Endpunkte.

Abschließende Gedanken & wie geht es weiter?

Die Schlüsselkonzepte der WordPress REST API zu verstehen und zu lernen, wie man sie benutzt und erweitert, kann überwältigend sein, aber die Macher von WordPress sind ziemlich zuversichtlich, dass sie die Kraft sein wird, die das CMS braucht, um weit über seine Fähigkeiten als Plattform zum Erstellen einfacher Websites und Blogs hinaus zu wachsen.

Wie bereits erwähnt, sollte das Erlernen von JavaScript im Moment oberste Priorität haben, da dies die Sprache ist, von der sich die WordPress-Macher wünschen, dass sie von den Entwicklern immer häufiger in WordPress-Projekten eingesetzt wird.

Sie sollten auch das WordPress REST API-Handbuch lesen, um ein besseres Verständnis der REST-API von WordPress zu erlangen. Der Abschnitt Verwendung der REST-API enthält Anleitungen zur Verwendung von globalen Parametern, Paginierung, Einbettung und Verlinkung sowie Authentifizierung, die alle Schlüsselkonzepte dieser API darstellen.

Wenn Sie das alles gut verstanden haben, können Sie sich im Abschnitt "Erweitern der REST-API" eingehend mit der Erweiterung der API befassen. Sie erfahren mehr über das Hinzufügen von benutzerdefinierten Endpunkten und lernen, wie Sie benutzerdefinierte Inhaltstypen verwenden und Antworten ändern können.

Patrick Harvey

Patrick Harvey ist ein erfahrener Autor und digitaler Vermarkter mit über 10 Jahren Erfahrung in der Branche. Er verfügt über umfassende Kenntnisse zu verschiedenen Themen wie Bloggen, soziale Medien, E-Commerce und WordPress. Seine Leidenschaft für das Schreiben und dafür, Menschen online zum Erfolg zu verhelfen, hat ihn dazu angetrieben, aufschlussreiche und ansprechende Beiträge zu erstellen, die seinem Publikum einen Mehrwert bieten. Als erfahrener WordPress-Benutzer ist Patrick mit den Besonderheiten der Erstellung erfolgreicher Websites vertraut und nutzt dieses Wissen, um Unternehmen und Privatpersonen gleichermaßen beim Aufbau ihrer Online-Präsenz zu helfen. Mit einem scharfen Blick fürs Detail und einem unerschütterlichen Streben nach Exzellenz ist Patrick bestrebt, seinen Lesern die neuesten Trends und Ratschläge in der digitalen Marketingbranche zu bieten. Wenn er nicht gerade bloggt, findet man Patrick beim Erkunden neuer Orte, beim Lesen von Büchern oder beim Basketballspielen.