So erstellen Sie einen benutzerdefinierten WordPress-REST-API-Endpunkt im Jahr 2026
17. August 2026
Lernen Sie, wie Sie 2026 einen eigenen WordPress-REST-API-Endpunkt erstellen. Schritt-für-Schritt-Anleitung mit Codebeispielen, Sicherheitstipps und Best Practices.
Die WordPress-REST-API und benutzerdefinierte Endpunkte verstehen
The WordPress REST API ermöglicht es Ihnen, remote mit Ihrer Website zu interagieren, indem Sie HTTP-Anfragen senden. Standardmäßig stellt WordPress Endpunkte für Beiträge, Seiten, Kommentare, Benutzer und mehr bereit. Allerdings müssen Sie oft benutzerdefinierte Daten oder Aktionen zugänglich machen, die nicht von den Standardeinstellungen abgedeckt werden. Hier kommen benutzerdefinierte Endpunkte ins Spiel. Beispielsweise könnte ein in Großbritannien ansässiges E-Commerce-Plugin einen Endpunkt benötigen, um Lieferzonen anhand der Postleitzahl abzurufen, oder eine Mitgliederseite könnte einen benutzerdefinierten Benutzerstatus-Endpunkt erfordern. Das Erstellen eines benutzerdefinierten Endpunkts ermöglicht es Ihnen, die API sauber und sicher zu erweitern und gibt Ihnen die volle Kontrolle über das Datenformat und die Berechtigungen. In diesem Leitfaden führen wir Sie Schritt für Schritt durch den gesamten Prozess, mit Code, den Sie an Ihre eigenen Projekte anpassen können.
Registrieren einer benutzerdefinierten Route mit register_rest_route()
Die Grundlage jedes benutzerdefinierten Endpunkts ist die Funktion `register_rest_route()`. Üblicherweise platzierst du sie in einem eigenen Plugin oder in der `functions.php` deines Themes. Die Funktion akzeptiert drei Argumente: den Namespace, die Route und ein Array von Optionen. Der Namespace verhindert Konflikte zwischen verschiedenen Plugins – als gute Praxis hat sich etwas wie `'myplugin/v1'` bewährt. Um beispielsweise einen Endpunkt unter `/wp-json/myplugin/v1/status` zu erstellen, würdest du Folgendes schreiben: ```php add_action('rest_api_init', function() { register_rest_route('myplugin/v1', '/status/', array( 'methods' => 'GET', 'callback' => 'myplugin_get_status' )); }); ``` Damit wird ein GET-Endpunkt registriert. Du kannst auch mehrere Methoden wie POST und PUT unterstützen. Denke daran, nach dem Registrieren neuer Routen die Permalinks zu aktualisieren – besuche einfach Einstellungen > Permalinks und klicke auf Speichern.
Umgang mit Anfragen: Callbacks, Berechtigungen und Parameter
Jede Route benötigt eine Callback-Funktion, die die Daten zurückgibt oder eine Aktion ausführt. Der Callback empfängt ein WP_REST_Request-Objekt, mit dem Sie auf URL-Parameter, Header und den Request-Body zugreifen können. Wenn Sie beispielsweise eine Route wie '/status/{id}' haben, können Sie die ID über $request['id'] erfassen. Parameter werden im 'args'-Array definiert, wo Sie Validierungsregeln wie 'required' und 'sanitize_callback' festlegen können. Wichtiger noch: Sie müssen einen 'permission_callback' einrichten – dies ist für die Sicherheit unerlässlich. Ohne ihn könnte jeder anonym auf Ihren Endpunkt zugreifen. Sie können eine einfache Berechtigungsprüfung wie 'return current_user_can( 'edit_posts' );' verwenden oder etwas Komplexeres, das Nonces und API-Schlüssel umfasst. Validieren und bereinigen Sie Eingaben immer, um SQL-Injection- oder XSS-Angriffe zu verhindern.
Testen und Debuggen Ihres Endpunkts
Once Ihre endpoint is registered, you need to test it. The easiest way is to use a tool like Postman or Insomnia, or simply a browser für GET requests. für a URL like http://yoursite.co.uk/wp-json/myplugin/v1/status, you should see a JSON response. If you get a 404 error, check that Ihre permalinks are flushed. If you get a 401 or 403, Ihre permission_callback is blocking the request – adjust it accordingly. für debugging, you can use WP_DEBUG und error_log() inside Ihre callback. Also, consider using the WP_REST_Response class to control the status code und headers. für UK developers, it's worth testing on both PHP und WordPress versions, und using Tools like Query Monitor to trace what's happening. Add unit tests mit the WP REST API test framework für robust code.
Praktische UK-Beispiele und Best Practices
Schauen wir uns ein praktisches britisches Beispiel an: eine Restaurant-Website, die einen Endpunkt benötigt, um zu prüfen, ob ein Tisch für ein bestimmtes Datum und eine bestimmte Uhrzeit verfügbar ist. Man könnte eine Route wie '/reservations/availability' registrieren, die die Parameter 'date' und 'time' akzeptiert. Der Callback fragt Ihre Buchungsdatenbank ab und gibt true oder false zurück. Zu den bewährten Methoden gehören die Verwendung eines aussagekräftigen Namespace, die Versionierung Ihrer API (z. B. /v1, /v2) und die Dokumentation Ihrer Endpunkte – viele britische Agenturen nutzen OpenAPI-Spezifikationen. Cachen Sie Antworten wann immer möglich, um die Serverlast zu reduzieren, insbesondere bei öffentlich zugänglichen Daten. Stellen Sie außerdem sicher, dass Ihre Endpunkte sicher sind, indem Sie HTTPS und eine ordnungsgemäße Authentifizierung verwenden, z. B. ein WordPress-Nonce für angemeldete Benutzer oder ein Anwendungspasswort für externe Clients. Wenn Sie diese Richtlinien befolgen, erstellen Sie Endpunkte, die zuverlässig und wartbar sind.
FAQ
Ein Endpunkt ist eine spezifische URL innerhalb der WordPress-REST-API, an die Sie Anfragen senden können. Er entspricht einer Funktion, die Daten abruft oder modifiziert. Zum Beispiel ist /wp-json/wp/v2/posts ein Endpunkt, der eine Liste von Beiträgen zurückgibt. Benutzerdefinierte Endpunkte ermöglichen es Ihnen, eigene URLs und Datenverarbeitungsregeln zu definieren.