WordPress Rest API: Alles, was Sie darüber wissen müssen (2025)

Mit WordPress 4.4 wurde die WordPress REST API in den Kern von WordPress integriert.
In diesem Artikel erkläre ich, warum diese Entwicklung für WordPress (und Theme- und Plugin-Autoren im Allgemeinen) von großer Bedeutung ist, und zeige Ihnen, wie Sie sie nutzen können, um die Kommunikation zwischen WordPress und anderen Anwendungen zu vereinfachen.
Die WordPress Rest API ermöglicht es WordPress-Websites, sich von der standardmäßigen WordPress-Verwaltungsschnittstelle zu lösen, um eine vollständig personalisierte Verwaltungs- oder Inhaltserfahrung unter Verwendung eines unterschiedlichen Technologie-Stacks anzubieten.
Calypso - die Desktop-Anwendung von WordPress - ist ein schönes Beispiel dafür. Calypso wurde mit einer einzigen Javascript-Anwendung erstellt, die die WordPress REST API zur Kommunikation zwischen WordPress.com und dem Kern verwendet.
Da die WordPress REST API nun ein integraler Bestandteil des WordPress-Kerns ist, ist es wichtig, dass die Entwickler ihre Funktionsweise und die neuen Möglichkeiten, die sie für die Interaktion mit WordPress eröffnet, gut beherrschen.
Und so in diesem WordPress REST API Überblick und Tutorial, werde ich Sie durch die Grundlagen der WP REST API sowie zeigen Ihnen, wie Sie es verwenden können, um ein (Plugin) Widget, das die neuesten Beiträge aus der Heroic Knowledge Base benutzerdefinierte Post-Typen zeigt erstellen.
In diesem Artikel

Jedes Produkt, das wir auf HeroThemes empfehlen, wird von uns gründlich getestet und untersucht. Unser Prüfverfahren. Wir können auch eine Provision verdienen, wenn Sie einen Kauf über unsere Links tätigen.
Eine Einführung in die WordPress REST API
Bevor wir uns ansehen, wie die WordPress REST API zur Erstellung eines (Plugin-)Widgets verwendet wird, sollten wir zunächst den Begriff "Widget" ein wenig besser verstehen.
Wofür steht also API?
API steht für Application Program Interface.
Einfach ausgedrückt ist es ein Mittel zur Kommunikation zwischen zwei verschiedenen Anwendungen.
Ein gängiges Beispiel für eine API in Aktion ist das Tweet Deck, das auf vielen Websites angezeigt wird. Die Anzeige dieses Tweet Decks ist über eine API möglich, bei der die Website einfach Daten von Twitter abruft und anzeigt.
Was ist mit REST?
REST ist die Abkürzung für REpresentational State Transfer.
REST ist ein HTML-basierter Architekturstil zur Erstellung von APIs. Eine RESTful-Architektur verwendet HTTP-Anfragen zum Senden, Lesen, Aktualisieren und Löschen von Daten zwischen zwei Quellen.
Wenn wir also von einer REST-API sprechen, meinen wir im Wesentlichen eine API, die HTML-Methoden zur Kommunikation verwendet.
Und was ist mit JSON?
Die WordPress REST API hat das gleiche Format wie die WordPress JSON REST API.
JSON (oder Javascript Object Notation) ist ein minimales, textbasiertes Datenaustauschformat, das für den nahtlosen Austausch von Daten zwischen verschiedenen Plattformen verwendet wird (auch wenn die Plattformen unterschiedliche Sprachen verwenden).
JSON ist eine leichtgewichtige Alternative zu XML-basierten Lösungen und damit ideal für mobile Anwendungen mit begrenzter Bandbreite.
Warum die WordPress REST API verwenden?
Sie fragen sich vielleicht, was an der WordPress REST API so außergewöhnlich ist und warum Sie sich dafür interessieren sollten.
Nun ... die WordPress REST API ermöglicht es Ihnen, mehr mit WordPress zu tun.
Zum Beispiel:
- Schreiben Sie Anwendungen in einer beliebigen Sprache, die Sie kennen, und lassen Sie sie mit einer WordPress-Website interagieren (die einzigen 2 Anforderungen sind, dass die Sprache Ihrer Anwendung HTML-Methoden verwenden und JSON interpretieren können sollte)
- Entwerfen Sie vollständig personalisierte Verwaltungs- und Inhaltserlebnisse
- Entwicklung von Single Page Applications auf Basis von WordPress
Und vieles mehr.
Es ist fast unmöglich, alle potenziellen Anwendungen/Schnittstellen/Erlebnisse aufzulisten, die mit der REST-API erstellt werden können. Das REST-API-Handbuch von WordPress sagt zu Recht:
Unsere Vorstellungskraft ist die einzige Grenze für das, was mit der WordPress REST API gemacht werden kann. Fazit: Wenn Sie eine strukturierte, erweiterbare und einfache Möglichkeit suchen, Daten über HTTP in und aus WordPress zu erhalten, sollten Sie die REST-API verwenden.
Aber ich weiß, dass die Umsetzung immer viel schwieriger ist als das Verständnis der Theorie.
Sehen wir uns also eine kurze Anleitung an, wie Sie die WordPress REST API verwenden können, um ein benutzerdefiniertes (Plugin-)Widget zu erstellen.
Eine kurze Anleitung zur Verwendung der WordPress REST API
Wenn Sie eines unserer Wissensdatenbank-Produkte verwenden, wie z. B. unser KnowAll help center theme oder Ihr eigenes Theme mit dem Heroic Knowledge Base Plugin, haben Sie eine Website mit einer Wissensdatenbank mit Support-Artikeln. Die Verwendung dieser Produkte ist nicht notwendig, um die Prinzipien dieses Tutorials zu befolgen, aber denken Sie daran, dass Sie den Code an Ihre eigene Einrichtung anpassen müssen.
Sind Sie mit Ihrer lokalen Einrichtungfertig ?
Großartig!
Jetzt werden wir eine weitere Website auf einem anderen Server erstellen.
Warum erstellen wir also diese zweite Website?
Wir tun dies, weil wir die WordPress REST API implementieren wollen, um mit dieser zweiten Website zu kommunizieren, und wie Sie jetzt wissen, geht es bei der WordPress REST API darum, Konversationen zu ermöglichen.
Wir werden also die WordPress REST API verwenden, damit die beiden Websites miteinander kommunizieren und Daten austauschen können.
Und das Endziel des Tutorials ist es,:
Wählen Sie die neuesten veröffentlichten Knowledge-Base-Artikel von der Help-Center-Website und zeigen Sie sie in einem Widget in der Seitenleiste der neuen Website an.
In diesem Artikel wird die Website des Help Centers, auf der sich alle Artikel der Wissensdatenbank befinden, als "lokale" Website bezeichnet und die neue Website, auf der Sie das Widget anzeigen, als "externe" Website.
An dieser Stelle gehe ich davon aus, dass Sie 1) Ihre "lokale" Help-Center-Website und 2) eine neue "externe" Website auf einem anderen Server eingerichtet haben.
Und am Ende des Tutorials hätten wir erfolgreich eine Liste von Knowledge-Base-Artikeln von der "lokalen" Website auf der neuen "externen" Website (über die WordPress REST API) mit einem benutzerdefinierten (Plugin-)Widget angezeigt.
Damit sind wir bereit für den Anfang:
Schritt#1: Kopieren Sie den folgenden Code in eine neue .php-Datei und speichern Sie diese im Plugins-Ordner Ihrer "externen" Website.
Den vollständigen Code für dieses WordPress-REST-API-Tutorial finden Sie hier.
Dieser Code erstellt ein sehr einfaches Widget, das einen Titel Ihrer Wahl anzeigt.
Durch das Hinzufügen des Codes am Anfang der Vorlage und das Speichern im Plugins-Verzeichnis haben wir es als Plugin erstellt (anstatt den Code in die Funktionsdatei des Themes einzufügen).
Es ist nur eine Kleinigkeit, aber wenn Sie ein Widget als Plugin in diesem Stil erstellen, können Sie es ein- und ausschalten und später auch in anderen Themen wiederverwenden, ohne es kopieren und einfügen zu müssen.
Nach der Installation und Aktivierung haben Sie ein neues Widget im Bereich Widgets auf dem Dashboard:

Schritt #2: Verwenden Sie die WordPress REST API, um die neuesten Knowledge-Base-Artikel abzurufen
Da Sie bei dieser Entwicklung nichts bearbeiten oder löschen wollen, werden wir uns nur auf die Funktion widget() konzentrieren. Hier wird der Inhalt des Widgets auf der "externen" Website ausgegeben.
Um die Liste der aktuellen Knowledge-Base-Artikel von der "lokalen" Website zu erhalten, müssen wir ein paar Dinge wissen:
- Der Basispfad der API (welche API auf Ihrer Website verwendet werden soll, in unserem Fall die neueste WP API)
- Die verwendete Route (WP API hat mehrere Routen für die verschiedenen verfügbaren Datensätze und Operationen)
- Der verwendete Endpunkt (Welche Aktion soll durchgeführt werden)
- Parameter (Die mit der Anfrage verbundenen Daten)
Der Basispfad der API ist immer:
json/wp/v2/
So wird der absolute API-Pfad:
http://example.com/json/wp/v2/
(http://example.com ist Ihre "lokale" Website)
Die verwendete Route ist:
json/wp/v2/posts/
Über die Endpunkte: Diese Route hat eigentlich drei Endpunkte, die sich durch die HTTP-Methoden unterscheiden. Diese Endpunkte sind:
- GET
- PUT
- DELETE
In diesem Beispiel wählen Sie den GET-Endpunkt, um eine Liste der neuesten Beiträge von der "lokalen" Website abzurufen (oder zu erhalten).
Ihre erste Codezeile, die mit der REST-API interagiert, wird also lauten:
$response = wp_remote_get( 'http://products-website.com/wp-json/wp/v2/posts/' );
Als nächstes müssen Sie prüfen, ob Fehler zurückgegeben werden:
if( is_wp_error( $response ) ) {
return;
}
Mit diesem Code wird lediglich geprüft, welche Antwort zurückgegeben wird. Wenn die Antwort einige Beiträge zurückgibt, dann liegt kein Fehler vor.
Der letzte Teil dieses Abschnitts lautet:
$posts = json_decode( wp_remote_retrieve_body( $response ) );
if( empty( $posts ) ) {
return;
}
$response ist eine JSON-kodierte Zeichenfolge mit Post-Daten. Alles, was Sie hier tun, ist, sie zu dekodieren, damit sie ausgegeben werden kann.
Fügen Sie wiederum eine zusätzliche Prüfung hinzu, um sicherzustellen, dass $posts nicht leer ist. Wenn dies der Fall ist, wird nichts zurückgegeben.
An diesem Punkt haben Sie also erfolgreich mit Ihrer "lokalen" Website über die API kommuniziert. Nach dieser Implementierung haben Sie eine Liste von Beiträgen, die Sie anzeigen können.
Der nächste Schritt besteht darin, sie tatsächlich in Ihrem Widget auf der "externen" Website anzuzeigen.
Schritt #3: Zeigen Sie die neuesten Beiträge auf der "externen" Website an, indem Sie den folgenden Code hinzufügen:
if( !empty( $posts ) ) {
echo '<ul>';
foreach( $posts as $post ) {
echo '<li><a href="' . $post->link. '">' . $post->title->rendered . '</a></li>';
}
echo '</ul>';
}
Der Code für Ihr fertiges Widget sollte wie folgt aussehen:
Wenn Sie nun versuchen, Ihre "externe" Website aufzurufen, sehen Sie in Ihrer Seitenleiste eine Liste Ihrer Beiträge von der "lokalen" Website.

Das alles ist großartig.
Wenn Sie sich jedoch erinnern, sind dies nicht die richtigen Beiträge, da wir nur die neuesten Artikel aus der Wissensdatenbank anzeigen wollen.
Unsere aktuelle Implementierung tut dies nicht, weil das Wissensdatenbank-Plugin seinen eigenen benutzerdefinierten Beitragstyp verwendet. Und da benutzerdefinierte Beitragstypen für APIs standardmäßig nicht öffentlich zugänglich sind, führt dies zu einem Problem. (Hinweis: Die neueste Version der Wissensdatenbank ist für die REST-API öffentlich zugänglich und der nächste Abschnitt kann übersprungen werden)
Verwendung der REST-API mit benutzerdefinierten Beitragstypen
Um benutzerdefinierte Beitragstypen für die REST-API verfügbar zu machen, benötigen Sie eine kleine Umgehung.
Wenn Sie also einen benutzerdefinierten Beitragstyp erstellen, müssen Sie einen neuen Parameter zur Registrierung der Beitragstyp-Argumente hinzufügen, um ihn öffentlich verfügbar zu machen:
'show_in_rest' = true,
'rest_base' = 'ht_kb',
'rest_controller_class' = 'WP_REST_Posts_Controller',
Da wir in unserem Fall jedoch ein Plugin für den Beitragstyp Wissensdatenbankartikel verwenden, werden wir die Plugin-Datei nicht direkt bearbeiten, um die benutzerdefinierten Beitragstypen für die REST-API verfügbar zu machen. (Eine Plugin-Datei direkt zu bearbeiten ist nie eine gute Idee!)
Stattdessen fügen wir den folgenden Code in die Datei functions.php im Child-Theme für die "lokale" Website ein:
/** * Add rest support to an existing post type */ add_action( 'init', 'my_custom_post_type_rest_support', 25 ); function my_custom_post_type_rest_support() { global $wp_post_types; //set this to the name of your post type! $post_type_name = 'ht_kb'; if( isset( $wp_post_types[ $post_type_name ] ) ) { $wp_post_types[$post_type_name]->show_in_rest = true; $wp_post_types[$post_type_name]->rest_base = $post_type_name; $wp_post_types[$post_type_name]->rest_controller_class = 'WP_REST_Posts_Controller'; } }
Jetzt ist der benutzerdefinierte Beitragstyp "ht_kb" für die WP REST API öffentlich zugänglich.
Nachdem wir den benutzerdefinierten Beitragstyp für die WordPress REST API verfügbar gemacht haben, müssen wir nun unser Widget so anpassen, dass es Beiträge mit diesem Beitragstyp anzeigt. Dazu kehren wir zum $response-Code aus Schritt 2 zurück und aktualisieren ihn zu:
$response = wp_remote_get( 'http://example.com/wp-json/wp/v2/ht_kb/' );
Im Grunde ändern wir /posts/ in /ht_kb/ in der API-Route, weil "ht_kb" der Name des benutzerdefinierten Beitragstyps des Plugins ist.
Sobald Sie Ihr Widget aktualisieren und eine Vorschau der "externen" Website anzeigen, sollten Sie die neuesten Artikel der Wissensdatenbank sehen.

Abschließende Überlegungen
Wie wir gesehen haben, können Sie mit ein paar einfachen PHP- und HTML-Schnipseln neue Funktionen, Widgets und Plugins erstellen.
Sie könnten das Plugin, das wir gerade erstellt haben, ändern, um ein Suchfeld zu erstellen, das die WP REST API verwendet, um die Artikel der Wissensdatenbank zu durchsuchen und die Ergebnisse im Widget anzuzeigen.
Oder Sie können die Authentifizierung nutzen, um zu kontrollieren, wer die Ergebnisse sieht (nützlich, wenn Sie eingeschränkte Inhalte erstellt haben).
Es gibt so viel, was Sie ausprobieren können! Man muss nur die Grundlagen beherrschen, dann ist man startklar.
Weitere Lektüre
Es gibt eine Menge veralteter Inhalte rund um die WordPress REST API, also stellen Sie sicher, dass Sie nur das aktualisierte Material lesen. Ich habe im Beitrag auf einige nützliche Ressourcen verlinkt, aber ich liste hier auch einige auf.
Informieren Sie sich also über die verschiedenen kreativen Möglichkeiten, die REST-API zu nutzen, und lernen Sie sie kennen.
Wenn Sie Fragen zur Implementierung der WordPress REST API haben, schreiben Sie sie in die Kommentare unten!