WordPress Rest API Benutzerdefinierte Routing: Ein leistungsstarkes Tool zur Erweiterung der API -Funktionen
In diesem Artikel wird die benutzerdefinierten Routing -Funktionen der WordPress -REST -API untersucht und angezeigt, wie angepasste API -Lösungen erstellt werden. Das benutzerdefinierte Routing bietet mehr granuläre Kontrolle und Skalierbarkeit als nur die Standardrouting.
Kernpunkte:
register_rest_route()
und kombinieren Sie die Aktion rest_api_init
, um eine benutzerdefinierte Route hinzuzufügen. Sie müssen einen Namespace, einen Routing -Pfad und eine Reihe von Endpunkten angeben, die Methoden, Rückruffunktionen und Berechtigungsinformationen enthalten. Über die Standardroute hinaus: Erstellen Sie unendliche Möglichkeiten
Der größte Teil der Diskussion über die WordPress Rest -API konzentriert sich auf die Abfrage der Standardroute, wodurch sie wie eine einzelne API wie die Twitter -API aussieht. Die WordPress -REST -API ist jedoch keine einzige API, sondern eine Sammlung von Millionen hoch anpassbarer APIs, die auch als Werkzeug zum Erstellen von APIs verwendet werden können. Das Standard -Routing ist eine Kompromisslösung für viele Standortanforderungen, und nicht alle Aufgaben können standardmäßig standardmäßig erledigt werden.Genau wie WordPress nicht nur ein globales WP_Query -Objekt ist, ist die Rest -API nicht nur eine Standard -API. Die Verwendung von Standardrouting ist wie das Erstellen eines eigenen WP_Query -Objekts in einem herkömmlichen WordPress -Projekt oder die Standardabfrage in
zu überschreiben. Obwohl möglich, können nicht alle Arbeiten ausschließlich standardmäßig WordPress -URL -Routing erfolgen. pre_get_posts
Gleiches gilt für die
Fügen Sie eine Route hinzu: Funktion register_rest_route()
ein, mit der Routen zur Rest -API hinzugefügt und ein Array von Endpunkten weitergegeben werden können. Für jeden Endpunkt wird nicht nur die Anforderung zur Handlung bereitgestellt, sondern auch die in der Abfrage erforderlichen Felder, einschließlich Standardwerte, sauberen und validierenden Rückrufe sowie separate Berechtigungsrufe, definieren. register_rest_route()
Dieser Artikel konzentriert sich auf drei Aspekte: Rückruffunktionen, Feldparameter und Berechtigungsprüfung. Downloads (EDD) -Danker E-Commerce-Websites.
Stellen Sie die Route fest: Namespace und Routenpfad
Verwenden Sie beim Definieren einer benutzerdefinierten Route die Funktion in der Aktion rest_api_init
. Diese Funktion akzeptiert vier Parameter: register_rest_route()
Namespace: Alle Routen müssen als nächstes URL-Segment nach "WP-JSON" als räumlich bezeichnet werden. Der Namespace der Standardroute ist . Namespaces vermeiden Routing -Konflikte. wp
Routenpfad: URL nach dem Namespace. Zum Beispiel "/produkte" oder "/produkte/(?
Definieren Sie den Endpunkt der Route, einschließlich Methoden, Rückruffunktionen, Parameter usw.
Parameter (optional): boolescher Wert für den Umgang mit Konflikten mit definierten Routen. Der Standard ist override
, versucht, die Route zu verschmelzen.
false
true
Der Endpunkt muss eine oder mehrere HTTP -Transportmethoden definieren (Get/post/put/löschen). Methoden können unter Verwendung von Konstanten in der -Klassel definiert werden, z. B.
(nur Anforderungen sind zulässig) oder (alle Methoden sind zulässig). WP_REST_Server
WP_REST_Server::READABLE
Wenn Sie ein Feld definieren, können Sie den Standardwert des Feldes angeben, die Rückruffunktion beseitigen usw. Dadurch kann die Rückruffunktion den von ihnen empfangenen Daten vertrauen. WP_REST_Server::ALLMETHODS
Rückruffunktion und Berechtigungsrückruffunktion
Die Rückruffunktion für jeden Endpunkt (angegeben in der Taste ) ist die Methode, auf die die Anforderung versandt wird (wenn die Rückruffunktion der Berechtigung übergeht). Die Berechtigungsrückruffunktion (angegeben in der Taste
) prüft, ob der aktuelle Benutzer die Berechtigung hat, auf den Endpunkt zuzugreifen.
callback
permission_callback
Verarbeitung und Beantwortung von Anforderungen
Die -Rallback -Funktion empfängt das Objekt und kann die
-Methode verwenden, um die gereinigten und verifizierten Parameter zu erhalten. Sie können die Funktion verwenden, um WP_REST_Request
Objekte zu erstellen, um sicherzustellen, dass die Antwort im richtigen JSON -Format liegt und die erforderlichen Header einbezieht. get_params()
rest_ensure_response()
WP_REST_Response
Zusammenfassung: benutzerdefinierte API, unbegrenzte Möglichkeiten
Die Standard -Routing der WordPress -REST -API ist sehr nützlich, aber das benutzerdefinierte Routing bietet mehr Kontrolle und Skalierbarkeit. Das Erstellen einer benutzerdefinierten Route ist eine effektive Lösung, wenn die Standardroute den Anforderungen nicht entspricht.
Das obige ist der detaillierte Inhalt vonHinzufügen von benutzerdefinierten Routen zur WordPress Rest API. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!