Wie im Kapitel zu den nützlichen Funktionen der REST-API angerissen, gibt es die Möglichkeit, Links in den Antworten zu hinterlassen. Zur Wiederholung: dies dient dazu, dem API-Benutzer aufzuzeigen, ob und welche Ressourcen noch verfügbar sind und wie diese aufgerufen werden können.
WordPress fügt einige, nützliche Links bereits automatisch an, aber Sie können natürlich auch selbst welche anhängen.
Wenn wir beim Kommentar-Beispiel bleiben, erhalten Sie beim GET-Abruf folgender URL folgende Links:
GET http://test.local/wp-json/wp/v2/comments/1
"_links": {
"self": [
{
"href": "http://test.local/wp-json/wp/v2/comments/1"
}
],
"collection": [
{
"href": "http://test.local/wp-json/wp/v2/comments"
}
],
"up": [
{
"embeddable": true,
"post_type": "post",
"href": "http://test.local/wp-json/wp/v2/posts/1"
}
]
}
Nehmen wir an, wir wollen eine eigene REST-Route für die Kommentar-Bewertungen bereitstellen und diesen Link ebenfalls ausgeben. Dazu können wir die Methode add_link
der Klasse WP_REST_Response
nutzen:
public function add_link( $rel, $href, $attributes = array() ) {
...
}
Es gilt:
- $rel
(string)
Die Link-Relation. Dies kann eine ausgewählte Bezeichnung von IANA sein oder eine selbst gewählte, absolute URL. - $href
(string)
Ziel-URL mit Platzhaltern. - $attributes
(array)
Weitere Argumente.
Die Methode hat keinen Rückgabewert.
Sehen wir uns ein Beispiel an:
Nun erzeugt der GET Aufruf auf http://test.local/wp-json/wp/v2/comments/1
folgendes:
Die Ausgabe wäre an sich korrekt, allerdings ist die URL als Schlüssel-Element (https://my-rating-plugin.com/rating
) nicht sehr schön gewählt. Denken Sie daran, dass dies schwer zu verarbeiten ist. Deswegen wollen wir sie Kürzen. Dazu müssen wir allerdings die Liste der CURIE-Elemente erweitern.
Wir ergänzen das Plugin wie folgt:
Eine GET-Abfrage auf folgende URL:
GET http://test.local/wp-json/wp/v2/comments/1
gibt nun folgendes aus: