WordPress REST API: Zugriff, Verwendung und Sicherung (vollständiges Tutorial)
Veröffentlicht: 2023-03-23Wenn Sie vorhaben, WordPress-Entwickler zu werden, werden Sie auf etwas namens „REST API“ stoßen. Dies ist eine Schnittstelle, die die Funktionalität von WordPress erweitert und es Ihnen ermöglicht, die Plattform mit anderen Anwendungen zu verbinden. Einige Entwickler finden es als Teil ihres Prozesses sehr hilfreich – besonders wenn sie erweiterte Funktionen implementieren möchten.
Glücklicherweise müssen Sie kein erfahrener Entwickler sein, um sich mit der WordPress-REST-API vertraut zu machen. Sobald Sie ein solides Verständnis der Benutzeroberfläche und ihrer Funktionsweise haben, können Sie sie problemlos in Ihre Webbuilding-Projekte implementieren.
In diesem Beitrag stellen wir eine ausführliche Anleitung zur WordPress-REST-API bereit. Wir besprechen, was es ist, wie man es benutzt und wie man es vor Bedrohungen schützt. Wir zeigen Ihnen auch, wie Sie häufige REST-API-Fehler beheben, wie Sie die Schnittstelle mit anderen Frameworks verwenden und wie sie im Vergleich zu anderen WordPress-API-Lösungen abschneidet. Abschließend behandeln wir einige häufig gestellte Fragen.
Was ist die WordPress-REST-API?
Um die WordPress-REST-API zu verstehen, müssen wir ihre verschiedenen Komponenten aufschlüsseln. Beginnen wir mit einer Einführung in APIs.
Was ist eine API?
Eine Anwendungsprogrammierschnittstelle (API) ist ein Programm, das es zwei Anwendungen ermöglicht, miteinander zu kommunizieren. Es dient als Vermittler zwischen zwei Softwarekomponenten und ermöglicht eine nahtlose Zusammenarbeit.
Wenn Sie beispielsweise ein Google-Produkt wie Karten auf Ihrer Website anzeigen möchten, müssen Sie die Google Maps-API verwenden.
Dadurch kann Ihre WordPress-Site mit Google Maps kommunizieren, sodass alle relevanten Daten und Funktionen abgerufen werden können, die zum Anzeigen dieser Karten erforderlich sind.
Wie Google haben auch andere Unternehmen APIs und stellen sie Webentwicklern zur Verfügung. Diese Produkte können sehr ansprechend sein, da sie die Notwendigkeit beseitigen, ein Feature (wie eine Karte) von Grund auf neu zu codieren. Stattdessen können Sie Software von Drittanbietern verwenden und diese über API mit Ihrer Website verbinden.
Was ist REST?
Representational State Transfer (REST) ist eine Reihe von Richtlinien, die Entwickler beim Erstellen von APIs befolgen müssen. Daher ist eine REST-API eine Schnittstelle, die unter Berücksichtigung dieser Standards entwickelt wurde.
Typischerweise folgt eine REST-API diesen Prinzipien:
- Client-Server-Trennung: Die API soll es dem Client (oder der Website) und dem Server ermöglichen, voneinander getrennt zu bleiben und weiterhin unabhängig voneinander zu funktionieren.
- Caching: REST-APIs sollten nach Möglichkeit zwischenspeicherbare Daten verwenden, um die Leistung zu verbessern und der Website mitzuteilen, welche Informationen zwischengespeichert werden können.
- Zustandslosigkeit: REST-APIs können keine Informationen über die Website, mit der sie verbunden sind, auf ihrem Server speichern, und es sollten nur die Informationen bereitgestellt werden, die zum Verarbeiten einer Anfrage erforderlich sind.
- Eine einheitliche Schnittstelle: Ressourcenanfragen sollen unabhängig von ihrer Herkunft auf die gleiche Weise bearbeitet werden.
- Schichtenarchitektur: REST-APIs sind um ein Schichtensystem herum aufgebaut, wobei jede Schicht eine bestimmte Rolle erfüllt und getrennt von anderen arbeitet. Dadurch wird die API sicherer und einfacher zu aktualisieren.
Da eine REST-API diese Standards erfüllt, kann sie für mehr Sicherheit und Effizienz sorgen.
Was macht die WordPress-REST-API?
WordPress hat eine eigene REST-API. Dadurch kann die Plattform mit fast jeder anderen Webanwendung und Website kommunizieren, unabhängig von der verwendeten Programmiersprache.
Mit dieser API kann eine Drittanbieter-App auf Ihre WordPress-Datenbank zugreifen und Daten daraus ziehen. Tatsächlich verwenden die meisten WordPress-Plugins und -Themes die REST-API der Plattform, um ordnungsgemäß zu funktionieren.
Die WordPress REST API wurde als Teil der Kernsoftware in Version 4.7 veröffentlicht. Davor war es nur als Plugin verfügbar.
Während die WordPress-Software mit PHP aufgebaut ist, sendet und empfängt die REST-API Daten als JSON-Objekte (JavaScript Object Notation), was Entwicklern neue Möglichkeiten eröffnet.
Was sind die gängigsten REST-API-Befehle?
REST-APIs sind darauf ausgelegt, bestimmte Anforderungen über HTML-Befehle zu empfangen und darauf zu antworten.
Die am häufigsten verwendeten Befehle sind:
- GET: Mit diesem Befehl können Sie eine bestimmte Ressource vom Server abrufen, z. B. einen Beitrag oder ein Datenelement.
- POST: Mit diesem Befehl können Sie eine Ressource auf dem Server ändern, indem Sie Code hinzufügen.
- PUT: Mit diesem Befehl können Sie eine Ressource bearbeiten, die sich bereits auf dem Server befindet.
- DELETE: Dieser Befehl entfernt eine Ressource vom Server.
Diesen Befehlen folgt eine Zeile, die weitere Informationen über die Anfrage enthält. Diese werden als Endpunkte bezeichnet.
Wenn Sie beispielsweise eine Liste veröffentlichter Beiträge auf Ihrer Website abrufen möchten, würden Sie den folgenden Endpunkt verwenden:
GET http://mysite.com/wp-json/wp/v2/posts/?status=published
Schauen wir uns ein anderes Beispiel an. Wenn Sie eine neue Seite hinzufügen möchten, verwenden Sie den folgenden Befehl:
POST http://mysite.com/wp-json/wp/v2/posts/page
Mit diesen vier Befehlen können Sie viele Dinge tun. Eine Liste der Endpunkte finden Sie auf der Seite mit den WordPress-Entwicklerressourcen.
Beispiele aus der Praxis der WordPress-REST-API
Nachdem Sie nun ein grundlegendes Verständnis dafür haben, wie die WordPress-REST-API funktioniert, schauen wir uns einige Beispiele aus dem wirklichen Leben an, beginnend mit WordPress.com.
Das Admin-Dashboard von WordPress.com (genannt „Calypso“) ist vollständig in JavaScript über die REST-API aufgebaut.
Calypso ist eine Web- und Desktop-App, mit der Benutzer neue Inhalte hinzufügen, vorhandene Beiträge bearbeiten und vieles mehr können. Es verwendet die REST-API, um auf die Daten auf Ihrer WordPress.com-Website zuzugreifen.
Ein weiteres Beispiel ist der Blockeditor. In selbst gehostetem WordPress verwendet der Block-Editor die REST-API, um mit Ihrer Datenbank zu interagieren und Blöcke zu erstellen.
Viele Online-Publikationen wie USA Today verwenden auch die WordPress-REST-API. Dadurch können sie automatisch Artikel in anderen Nachrichten-Apps wie Apple News veröffentlichen.
So aktivieren und deaktivieren Sie die REST-API in WordPress
Sie müssen nichts tun, um die REST-API zu aktivieren – sie ist in WordPress integriert. Später in diesem Beitrag zeigen wir Ihnen, wie Sie darauf zugreifen können.
Obwohl die REST-API ein leistungsstarkes Tool zum Erstellen von Apps mit WordPress ist, kann sie Ihre Website anfällig für DDoS-Angriffe (Distributed Denial-of-Service) und Malware machen. Außerdem können Hacker möglicherweise über die Verbindung mit anderen Apps auf Ihre Daten zugreifen.
Das Deaktivieren der WordPress-REST-API wird nicht empfohlen. Das liegt daran, dass dies zu Problemen mit dem Blockeditor und allen Plugins auf Ihrer Website führen kann.
Wenn Sie es trotzdem deaktivieren möchten, ist dies am einfachsten mit einem Plugin wie WPCode.
Sobald Sie das Plugin auf Ihrer Website installiert und aktiviert haben, navigieren Sie in Ihrem WordPress-Dashboard zu Code Snippets → Library .
Suchen Sie hier nach einer Option namens Disable WordPress REST API . Wenn Sie es finden, bewegen Sie den Mauszeiger darüber und wählen Sie Snippet verwenden aus .
Dadurch wird eine Seite mit einer Vorschau des Codes gestartet.
Wenn Sie nach unten zum Eingabefeld scrollen, können Sie die Option Automatisch einfügen auswählen, damit das Plugin diesen Code automatisch auf Ihre Website anwendet.
Scrollen Sie dann zurück nach oben und bewegen Sie den Kippschalter von Inaktiv auf Aktiv. Klicken Sie abschließend auf Aktualisieren , um diese Änderungen live zu schalten.
So verwenden Sie die WordPress-REST-API
Schauen wir uns nun an, wie die WordPress-REST-API verwendet wird. Wir haben oben bereits einige Beispiele behandelt, aber in diesem Abschnitt zeigen wir Ihnen genau, wie Sie auf Daten zugreifen und diese abrufen.
Schritt 1: Greifen Sie auf die REST-API zu
Wenn Sie Daten von einer Live-WordPress-Site abrufen möchten, können Sie direkt über Ihren Browser auf die REST-API zugreifen. Alles, was Sie tun müssen, ist die folgende Adresse in die Suchleiste einzugeben (ersetzen Sie sie durch Ihren eigenen Domainnamen und Ihre Erweiterung):
mysite.com/wp-json/wp/v2
Dadurch wird die JSON-Datei Ihrer WordPress-Site angezeigt.
Sie können dieser URL dann Elemente hinzufügen, um auf bestimmte Daten zuzugreifen, wie wir Ihnen im nächsten Schritt zeigen werden.
Schritt 2: Senden Sie Anfragen an die REST-API
Wie bereits erwähnt, können Sie Endpunkte verwenden, um auf bestimmte Daten auf Ihrer Website zuzugreifen. Wenn Sie eine Liste aller Ihrer Beiträge abrufen möchten, fügen Sie einfach den Endpunkt /posts zu Ihrer Adresse hinzu:
mysite.com/wp-json/wp/v2/posts
Wenn Sie einen bestimmten Beitrag abrufen möchten, können Sie einfach seine ID hinzufügen (Sie finden diese auf der Seite Beiträge in Ihrem WordPress-Dashboard):
mysite.com/wp-json/wp/v2/posts/4567
Wenn Sie in der Zwischenzeit Daten über Ihre Benutzer abrufen möchten, würden Sie die folgende Anfrage verwenden:
mysite.com/wp-json/wp/v2/users
Dies sind nur einfache Beispiele, aber Sie können noch viel mehr tun. Sie können beispielsweise Beiträge abrufen, die bestimmte Begriffe enthalten, den Status eines Beitrags von „Entwurf“ auf „Veröffentlichen“ ändern und vieles mehr.
Schritt 3: Authentifizieren Sie Ihre Anfragen
Die WordPress-REST-API ermöglicht es Ihnen, jede Art von Daten auf Ihrer Website abzurufen, aber nicht alle davon sind öffentlich verfügbar. In einigen Fällen müssen Sie Ihre Anfrage authentifizieren.
Um authentifizierte Anfragen an die WordPress-REST-API zu stellen, müssen Sie zunächst einen API-Schlüssel erhalten. Navigieren Sie dazu in Ihrem WordPress-Dashboard zu Benutzer → Profil .
Scrollen Sie dann nach unten zum Abschnitt Anwendungskennwörter . Hier müssen Sie einen Namen für Ihr Passwort eingeben (als Referenz) und auf Neues Anwendungspasswort hinzufügen klicken.
Dadurch wird ein API-Schlüssel für Sie generiert, den Sie in Ihren Anfragen verwenden müssen. Wenn Ihr API-Schlüssel beispielsweise „1234567890“ lautet, können Sie ihn wie folgt in einen Autorisierungsheader einfügen:
https://mysite.com/wp-json/wp/v2/posts?Authorization=Bearer1234567890
Denken Sie daran, den Code 1234567890 durch den kopierten API-Schlüssel zu ersetzen und alle Leerzeichen zu entfernen.
Sie können auch eine Liste von Beiträgen abrufen, die von einem bestimmten Autor mit seiner Benutzer-ID geschrieben wurden. Sie finden ihre ID, indem Sie in Ihrem WordPress-Dashboard zum Abschnitt Benutzer gehen und auf den Namen des Autors klicken. Die ID wird in der URL ihrer Autorenseite angezeigt.
Nehmen wir an, der Name eines Autors ist „Joe“ und seine ID ist „123“. In diesem Szenario können Sie die folgende URL verwenden, um eine Liste aller von Joe verfassten Beiträge abzurufen:
https://mysite.com/wp-json/wp/v2/posts?author=123&Authorization=Bearer1234567890
Wenn Sie die ID des Benutzers nicht finden können, wurde sein Profil möglicherweise so geändert, dass die ID nicht mehr angezeigt wird. In diesem Fall können Sie eine Liste aller Beiträge abrufen, die der Benutzer mit seinem Anmeldenamen oder seiner E-Mail-Adresse anstelle der ID geschrieben hat.
Dazu müssen Sie in Ihrer Anfrage den Parameter „slug“ anstelle des Parameters „author“ verwenden:
https://mysite.com/wp-json/wp/v2/posts?slug=joe&Authorization=Bearer1234567890
Mit dem Parameter „slug“ können Sie den Anmeldenamen oder die E-Mail-Adresse des Benutzers angeben. Die WordPress-REST-API gibt eine Liste aller vom Benutzer geschriebenen Beiträge zurück.
Wann sollte die WordPress-REST-API verwendet werden?
Die WordPress-REST-API kann für eine Vielzahl von Projekten verwendet werden. Hier sind ein paar Beispiele:
- Integrieren einer WordPress-Site in eine mobile App. Wenn Sie ein Entwickler sind, Sie können die REST-API verwenden, um Daten auf einer WordPress-Site von einer mobilen App abzurufen und zu bearbeiten. Auf diese Weise können Sie benutzerdefinierte Apps erstellen, die mit Ihrer Website interagieren.
- Erstellen benutzerdefinierter Integrationen. Mit der WordPress-REST-API können Sie benutzerdefinierte Integrationen mit anderer Software wie CRM-Tools erstellen.
- Erstellen benutzerdefinierter Skripte. Du kannst die REST-API verwenden, um bestimmte Aufgaben auf deiner WordPress-Seite zu automatisieren, wie das Planen von Beiträgen oder das Aktualisieren von Benutzerprofilen.
Wie Sie sehen können, ermöglicht Ihnen die REST-API die Integration von WordPress in Apps oder Websites, die auf anderen Plattformen erstellt wurden.
Wann man die WordPress REST API nicht verwenden sollte
Obwohl die WordPress-REST-API ein leistungsstarkes Tool sein kann, ist es möglicherweise nicht immer das richtige für Ihr Projekt. Sehen wir uns einige Gründe an, warum Sie es möglicherweise nicht verwenden möchten.
Wie Sie sich vielleicht erinnern, ist die WordPress-REST-API mit JavaScript erstellt. Wenn Sie also eine App entwickeln, die JavaScript nicht unterstützt, funktioniert sie nicht ordnungsgemäß, wenn Sie die REST-API verwenden.
Darüber hinaus sind Apps, die auf JavaScript basieren, möglicherweise nicht sehr zugänglich. Beispielsweise ist die Art und Weise, wie dynamische Inhalte wiedergegeben werden, möglicherweise nicht mit Screenreadern kompatibel. Infolgedessen könnten Ihre Inhalte für Benutzer mit Sehbehinderungen unzugänglich werden.
So schützen Sie die WordPress-REST-API vor Exploits
Wie bereits erwähnt, kann die Verwendung der WordPress-REST-API Ihre Website anfällig für Bedrohungen machen. Die API fungiert als Brücke zwischen zwei Plattformen, und Hacker können über diese Verbindung einen Weg in Ihre Website finden.
Daher ist es wichtig, bevor Sie mit der Verwendung der WordPress-REST-API beginnen, ein Backup Ihrer WordPress-Site zu erstellen. Wenn etwas schief geht, können Sie auf diese Weise eine aktuelle Version Ihrer Inhalte wiederherstellen.
Darüber hinaus sollten Sie sicherstellen, dass Sie über ausreichende Sicherheitsmaßnahmen verfügen. Dies bedeutet die Verwendung eines Tools wie Jetpack Protect.
Dieses Plugin ist vollgepackt mit Sicherheitsfunktionen, einschließlich Malware-Scanning, Schwachstellen-Scanning und einer Web Application Firewall (WAF).
Darüber hinaus ist es eine gute Idee, die REST-API auf einer WordPress-Staging-Site zu verwenden, bevor Sie Ihre Änderungen live schalten. Auf diese Weise wird die Benutzererfahrung im Frontend nicht beeinträchtigt, wenn Sie versehentlich Ihre Website beschädigen.
So beheben Sie häufige REST-API-Fehler und -Probleme
Bei der Verwendung der WordPress-REST-API können einige Fehler auftreten. Schauen wir uns also einige der häufigsten Probleme und die Schritte an, die Sie unternehmen können, um sie zu lösen.
Langsame Reaktionszeiten und Timeouts
Beim Aufrufen der WordPress-REST-API kann es zu langsamen Antwortzeiten und Zeitüberschreitungen kommen. Diese Probleme werden normalerweise durch die folgenden Faktoren verursacht:
- Unzureichende Serverressourcen. Ihr Server verfügt möglicherweise nicht über genügend Ressourcen, um Anforderungen zu verarbeiten, die über die REST-API gestellt werden. In diesem Fall müssen Sie auf einen leistungsfähigeren WordPress-Hosting-Plan upgraden.
- Plugin- oder Theme-Konflikte. WordPress-Plugins und -Themes können manchmal mit der REST-API in Konflikt geraten. Versuchen Sie in diesem Fall, alle Plugins zu deaktivieren und zu einem Standarddesign zu wechseln, um zu sehen, ob das Problem dadurch behoben wird. Wenn dies der Fall ist, können Sie Ihre Plugins einzeln reaktivieren, um den Übeltäter zu identifizieren.
- Größe der Daten. Große Datenübertragungen während API-Aufrufen können Zeitüberschreitungen verursachen. Um dies zu verhindern, können Sie versuchen, die Anzahl der pro Seite angezeigten Elemente zu reduzieren (wir zeigen Ihnen später in diesem Beitrag, wie das geht).
- Datenbankprobleme. Wenn Ihre WordPress-Datenbank nicht optimiert ist, kann es beim Aufruf der REST-API zu langsamen Antwortzeiten und Timeouts kommen. Sie können es optimieren, indem Sie unnötige Daten entfernen und ein Optimierungs-Plugin installieren.
Darüber hinaus möchten Sie möglicherweise die Leistung Ihrer API mit einem Tool wie der Operations Suite von Google Cloud (früher Stackdriver) und Application Insights von Microsoft verfolgen. Diese Tools können einen Einblick in die Leistung der WordPress-REST-API geben und Ihnen helfen, die Ursachen für langsame Antwortzeiten zu identifizieren.
403 Verbotener Fehler beim Aufruf der REST-API
Der Fehler 403 Forbidden ist ein HTTP-Statuscode, der angibt, dass der Client nicht berechtigt ist, auf die angeforderte Ressource zuzugreifen. Sehen wir uns einige häufige Ursachen für diesen Fehler und mögliche Lösungen an:
- Falscher API-Schlüssel. Wenn die Anfrage einen API-Schlüssel erfordert, vergewissern Sie sich, dass der von Ihnen verwendete Schlüssel gültig ist und dass er korrekt in den Anfrage-Headern übergeben wird.
- Ungültige Nonce. Eine „Nonce“ ist eine Zufallszahl, die einmal verwendet wird, um eine Anforderungsfälschung zu verhindern. Wenn es ungültig ist, kann es zu einem 403 verbotenen Fehler führen.
- Benutzerberechtigungen. Stellen Sie außerdem sicher, dass Sie über die erforderlichen Berechtigungen für den Zugriff auf einen bestimmten API-Endpunkt verfügen. Wenn Sie nicht der Eigentümer der Website sind, müssen Sie möglicherweise den Administrator bitten, Ihnen die entsprechenden Berechtigungen zu erteilen.
- Sicherheits-Plugins. Sicherheits-Plug-ins können einen API-Aufruf blockieren, weil sie ihn als Sicherheitsbedrohung ansehen. Sie können den API-Endpunkt in Ihren Plugin-Einstellungen auf die Whitelist setzen, um diese Art von Problem zu lösen.
- Firewall. Möglicherweise verwenden Sie eine Firewall, die die API-Anfrage blockiert. Stellen Sie sicher, dass die Firewall richtig eingerichtet ist, oder versuchen Sie, sie zu deaktivieren, während Sie die API verwenden.
- Serverkonfiguration. Einige Server sind nicht für die Verarbeitung bestimmter API-Aufrufe konfiguriert, daher sollten Sie sich möglicherweise an Ihren Hosting-Provider wenden, um Unterstützung zu erhalten.
Sie können auch die Entwicklertools Ihres Browsers verwenden, um die Netzwerkanforderungen und Anforderungsheader zu überprüfen. Wenn Sie Chrome verwenden, drücken Sie einfach STRG+UMSCHALT+C, um DevTools zu öffnen.
Außerdem können Sie Ihre Serverprotokolle auf weitere Informationen zu dem Fehler überprüfen. Sie sollten über Ihr Hosting-Konto darauf zugreifen können. Wenn nicht, können Sie Ihren Hosting-Provider um Hilfe bitten.
Die REST-API hat ein unerwartetes Ergebnis festgestellt
Der Fehler „REST API hat ein unerwartetes Ergebnis festgestellt“ ist ein häufiges Problem. Es wird typischerweise durch die folgenden Faktoren verursacht:
- Berechtigungen. Möglicherweise verfügen Sie nicht über die erforderlichen Berechtigungen, um auf die angeforderte Ressource zuzugreifen. In diesem Fall müssen Sie sich an den Administrator der Website wenden.
- Problem mit der URL-Konfiguration. Dieser Fehler kann auftreten, wenn die API-Endpunkt-URL falsch konfiguriert ist. Überprüfen Sie die URL noch einmal, um sicherzustellen, dass sie korrekt ist und alle erforderlichen Abfrageparameter enthalten sind.
- Falscher Befehl. Möglicherweise verwenden Sie den falschen Befehl (z. B. GET, POST, PUT, DELETE) für die Anforderung. Überprüfen Sie die API-Dokumentation, um sicherzustellen, dass Sie den richtigen Befehl für den jeweiligen Endpunkt verwenden.
- Falsches Anforderungsformat. Stellen Sie sicher, dass Sie in Ihrer Anfrage das richtige Format verwenden. In der WordPress REST API müssen Daten als JSON gesendet werden.
- Falscher Endpunkt. Möglicherweise versuchen Sie, einen Endpunkt aufzurufen, der nicht vorhanden ist. Überprüfen Sie in diesem Szenario die Endpunkt-URL, um sicherzustellen, dass sie korrekt ist.
- Serverseitige Probleme . Ihr Server hat möglicherweise Probleme. Dies ist häufiger bei Shared-Hosting-Plänen der Fall. In diesem Fall ist es möglicherweise an der Zeit, auf einen Server mit mehr Ressourcen umzusteigen.
Möglicherweise möchten Sie auch Ihre Plugins deaktivieren, um zu sehen, ob das Problem behoben ist. Wie bereits erwähnt, können einige Tools Kompatibilitätsprobleme mit der WordPress-REST-API verursachen.
rest_api_init funktioniert nicht
Der Fehler „rest_api_init funktioniert nicht“ ist ein weiterer häufiger WordPress-REST-API-Fehler. Es wird normalerweise durch Plugin- und Theme-Konflikte sowie begrenzte Serverressourcen verursacht.
Dennoch gibt es andere Faktoren, die dazu führen können, dass die WordPress-REST-API nicht funktioniert, wie zum Beispiel:
- Benutzerdefinierte REST-API-Endpunkte. Wenn Sie Anforderungen mit benutzerdefinierten Endpunkten stellen, stellen Sie sicher, dass Sie die richtigen Hooks und Funktionen verwenden.
- .htaccess- Datei. Möglicherweise müssen Sie Ihre .htaccess- Datei überprüfen, um sicherzustellen, dass sie korrekt eingerichtet ist.
- CORS-Fehler. Wenn du versuchst, Cross-Origin Requests (CORS) zu stellen und die WordPress-REST-API nicht funktioniert, ist der Server möglicherweise nicht dafür konfiguriert, sie zu akzeptieren. Wenden Sie sich an Ihren Hosting-Anbieter, um zu erfahren, ob der Server CORS akzeptiert.
Außerdem könnten Sie eine alte WordPress-Installation verwenden, die die API nicht unterstützt. In diesem Fall ist es wichtig, dass Sie auf die neueste Version aktualisieren.
Basisauthentifizierung funktioniert nicht
Der Fehler „Basisauthentifizierung funktioniert nicht“ kann auftreten, wenn versucht wird, die WordPress-REST-API mithilfe der Basisauthentifizierung aufzurufen. Basic Authentication ist ein einfaches Authentifizierungsschema, das in das HTTP-Protokoll integriert ist. Es verwendet einen Benutzernamen und ein Passwort, um jemanden zu authentifizieren.
Hier sind einige häufige Ursachen für diesen Fehler (und wie sie behoben werden):
- Falsche Anmeldeinformationen. Überprüfen Sie den Benutzernamen und das Kennwort in den Anforderungsheadern, um sicherzustellen, dass sie korrekt sind.
- Problem mit Secure Sockets Layer (SSL). Stellen Sie sicher, dass Sie ein gültiges SSL-Zertifikat installiert haben und dass es richtig konfiguriert ist. Wenn dies nicht der Fall ist, sehen Sie sich unsere Schritt-für-Schritt-Anleitung an, wie Sie ein kostenloses und gültiges SSL-Zertifikat erhalten.
- HTTP-zu-HTTPS-Umleitungen. Einige Websites sind so konfiguriert, dass sie HTTP-Anforderungen an HTTPS umleiten. Wenn der Browser versucht, sich über HTTP zu authentifizieren, tritt möglicherweise dieser Fehler auf. Daher sollten Sie sicherstellen, dass Sie eine Anfrage auf einem HTTPS-Endpunkt ausführen.
Wie andere REST-API-Probleme kann dieser Fehler auch durch Design- und Plugin-Konflikte verursacht werden. Auch hier sollten Sie zu einem Standarddesign wechseln und Ihre Plugins deaktivieren, um das Problem zu beheben.
Wenn das nicht hilft, sollten Sie Ihre Firewall vorübergehend deaktivieren. Dies könnte Ihre Authentifizierungsanforderung blockieren.
Wenn Sie CORS erstellen, ist Ihr Server möglicherweise nicht so konfiguriert, dass er sie akzeptiert. Es lohnt sich, bei Ihrem Hosting-Provider nachzufragen, ob er auf seiner Seite etwas tun kann.
Wenn Sie schließlich nicht der Administrator der Website sind, haben Sie möglicherweise nicht die richtigen Berechtigungen oder Rollen, um die Anfrage abzuschließen. In diesem Fall müssen Sie sich an den Eigentümer der Website wenden.
Fortgeschrittene Anwendungsfälle der REST-API
Dank der WordPress-REST-API können Sie Daten von Ihrer Website mit gängigen Frameworks und anderen Programmiersprachen abrufen. Schauen wir uns ein paar Beispiele an.
So verwenden Sie die WordPress-REST-API mit React
React ist eine beliebte JavaScript-Bibliothek zum Erstellen von Benutzeroberflächen. Sie können den Node-WPAPI-Client verwenden, um HTTP-Anforderungen an die WordPress-REST-API zu stellen.
Um beispielsweise eine Liste von Beiträgen auf Ihrer WordPress-Site abzurufen, müssten Sie Folgendes in Node-WPAPI eingeben:
import WPAPI from 'wpapi'; const wp = new WPAPI({ endpoint: 'http://example.com/wp-json' }); wp.posts().then(posts => { console.log(posts); });
Weitere Informationen zur Verwendung der WordPress-REST-API mit React findest du in der Node-WPAPI-Dokumentation.
So verwenden Sie die WP-REST-API mit Angular
Angular ist ein JavaScript-Framework zur Entwicklung von Webanwendungen. Um es mit der WordPress-REST-API zu verwenden, müssen Sie das Modul @angular/common/http verwenden.
Sie können beispielsweise den folgenden Code eingeben, um eine Liste von Beiträgen abzurufen:
import { HttpClient } from '@angular/common/http'; @Injectable() export class PostService { constructor(private http: HttpClient) {} getPosts(): Observable<any> { return this.http.get('http://mysite.com/wp-json/wp/v2/posts'); } }
In der Angular-Dokumentation finden Sie weitere Informationen zur Verwendung des HttpClient, um Anfragen an die WordPress-REST-API zu stellen.
So verwenden Sie die WordPress-REST-API mit Python
Sie können auch die WordPress-REST-API mit Python verwenden. Dies ist eine beliebte Programmiersprache, die zum Erstellen von Webanwendungen und anderer Software verwendet werden kann.
Um zu beginnen, müssen Sie die Anforderungsbibliothek verwenden. Wenn Sie eine Liste Ihrer WordPress-Beiträge abrufen möchten, würden Sie Folgendes eingeben:
import requests response = requests.get('http://example.com/wp-json/wp/v2/posts') posts = response.json() print(posts)
Ausführlichere Anweisungen finden Sie in der Dokumentation zur Requests-Bibliothek.
Wie vergleicht sich die REST-API mit anderen WordPress-API-Lösungen?
Du fragst dich vielleicht, wie sich die REST-API von anderen WordPress-API-Lösungen unterscheidet. Um Ihnen eine Vorstellung zu geben, werden wir es mit einigen der beliebtesten Alternativen vergleichen.
WordPress-REST-API im Vergleich zu AJAX
Die WordPress-REST-API bietet eine effiziente Möglichkeit, auf WordPress-Daten zuzugreifen. Es ermöglicht Entwicklern, benutzerdefinierte Anwendungen und Integrationen mit WordPress zu erstellen.
Inzwischen ist die WordPress AJAX API eine ältere Methode für den Zugriff auf WordPress-Daten. Es wurde in WordPress 2.0 eingeführt und ermöglicht es Entwicklern, mithilfe von JavaScript asynchrone Anfragen vom Frontend der Website zu stellen.
Die WordPress-AJAX-API kann in Bezug auf die Funktionalität etwas restriktiv sein, daher wird sie nicht für die Verwendung in komplexen Projekten empfohlen.
WordPress-REST-API vs. WPGraphQL
WPGraphQL ist eine GraphQL-Implementierung für WordPress, die eine alternative Möglichkeit bietet, auf WordPress-Daten zuzugreifen. GraphQL ist eine Abfragesprache für Ihre API. Es ermöglicht Kunden, genau die Daten anzufordern, die sie benötigen, und nicht mehr.
Im Gegensatz zur WordPress-REST-API erfordert WPGraphQL, dass für jeden Benutzer, der Zugriff benötigt, ein separates Anwendungspasswort generiert wird. Außerdem kann es bei der Bereitstellung von Inhalten etwas langsam sein, da es eine komplexere Abfragesprache verwendet.
WordPress-REST-API im Vergleich zu XML-RPC
Die in WordPress 1.5 eingeführte XML-RPC-API von WordPress ermöglicht es Ihnen, mithilfe des XML-RPC-Protokolls Remote-Anfragen an WordPress zu stellen.
XML-RPC ist einfach und leichtgewichtig und kann daher schneller Ergebnisse liefern. Das Problem ist, dass es wie Ajax im Vergleich zur WordPress-REST-API eine eingeschränkte Funktionalität hat.
Häufig gestellte Fragen zur WordPress-REST-API
In diesem Leitfaden haben wir die meisten wesentlichen Aspekte der WordPress-REST-API behandelt. Aber für alle Fälle schauen wir uns ein paar häufig gestellte Fragen zu diesem leistungsstarken Tool an.
Hat die WordPress-REST-API ein Rückgabelimit?
Standardmäßig hat die WordPress-REST-API ein maximales Rückgabelimit von 100 Elementen pro Seite. Das heißt, wenn Sie eine Anfrage an einen Endpunkt stellen, der eine Liste von Elementen (wie Posts, Seiten oder Benutzer) zurückgibt, zeigt die API nur maximal 100 Elemente in der Antwort an.
Glücklicherweise können Sie den Parameter „per_page“ verwenden, um das Limit auf maximal 500 Elemente pro Seite zu erhöhen.
Wenn Sie beispielsweise 200 Elemente pro Seite möchten, können Sie Folgendes verwenden:
https://mysite.com/wp-json/wp/v2/posts?per_page=200
Denken Sie daran, dass Sie auch die Anzahl der pro Seite angezeigten Elemente verringern können.
Kann ich die REST-API mit WooCommerce verwenden?
WooCommerce hat eine eigene REST-API. Mit der WooCommerce-REST-API können Sie auf Daten aus Ihrem WooCommerce-Shop zugreifen und diese ändern. Dazu gehören Informationen zu Produkten, Bestellungen und Kunden. Außerdem können Sie die WooCommerce-REST-API verwenden, um WooCommerce mit anderen E-Commerce-Plattformen zu integrieren.
Beginnen Sie mit der WordPress-REST-API
Die WordPress-REST-API ermöglicht es Ihnen, Ihre Website mit anderen Apps und Tools von Drittanbietern zu integrieren. Webentwickler können damit Daten für Single-Page-Anwendungen abrufen, WordPress mit einer mobilen App verbinden und vieles mehr.
Darüber hinaus können Sie die WordPress-REST-API mit anderen Frameworks und Programmiersprachen verwenden, einschließlich React, Angular und Python. Obwohl die WordPress-REST-API ein leistungsstarkes und zuverlässiges Tool ist, ist es dennoch wichtig, Ihre Website zu sichern und ein Sicherheitstool zu verwenden, um Angriffe über diese Verbindungen zu verhindern.
Mit Jetpack Protect können Sie Ihre WordPress-Site vor Malware und Hackern schützen und die WordPress-REST-API in einer sichereren Umgebung verwenden.