Download - Einführung ins WP REST API
![Page 1: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/1.jpg)
WP REST API Einführung16.12.2015
Martin Sotirov
![Page 2: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/2.jpg)
Inhalt
• Definition
• Infrastruktur
• Endpoints
• Beispiele
![Page 3: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/3.jpg)
RESTful Web
• Representational State Transfer
• Im Jahr 2000 von Roy Fielding eingeführt
• Abstraktion der Struktur und des Verhaltens einer Webseite
GET http://example.com/authors/stephen-king
![Page 4: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/4.jpg)
Create Read Update Delete
• Create = POST
• Read = GET
• Update = PUT
• Delete = DELETE
![Page 5: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/5.jpg)
Operationen eines RESTful APIs
Inhalt GET PUT POST DELETE
Kollektion
/authors/
Kollektionlesen
Ganze Kollektion aktualisieren
Neues Element erstellen
Kollektionlöschen
Ein Element
/authors/stephen-king
Einziges Elementlesen
Einziges Element aktualisieren
Einziges Elementlöschen
![Page 6: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/6.jpg)
Auch WordPress wird RESTful
• 2013 von Ryan McCue als Plugin programmiert
• WordPress 4.4 hat schon die REST-Infrastruktur
• Die Endpoints kommen mit WP 4.5
• https://wordpress.org/plugins/rest-api/
![Page 7: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/7.jpg)
REST Infrastruktur
class WP_HTTP_Server { ... }
class WP_HTTP_Request { ... }
class WP_HTTP_Response { ... }
Klassen unter /wp-includes/rest-api/ zu findenHooks und Funktionen unter /wp-includes/rest-api.php
![Page 8: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/8.jpg)
Eigene Endpoints erstellen
![Page 9: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/9.jpg)
Eigene Endpoints erstellen
register_rest_route( $path, $methods );
![Page 10: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/10.jpg)
Eigene Endpoints erstellen
register_rest_route( $path, $methods );
![Page 11: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/11.jpg)
Eigene Endpoints erstellen
register_rest_route( $path, $methods );
![Page 12: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/12.jpg)
Core Endpoints
/wp/v2/posts//wp/v2/posts/59/
/wp/v2/pages//wp/v2/media//wp/v2/taxonomies//wp/v2/terms/category/
![Page 13: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/13.jpg)
CPT Endpoints
/wp/v2/authors/
![Page 14: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/14.jpg)
Custom Fields
/wp/v2/authors/
![Page 15: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/15.jpg)
Authentifizierung
• Generell nur GET-Operationen ohne Login
• Authentifizierung über Basic Auth, Cookie oder OAuth (v1)
![Page 16: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/16.jpg)
Authentifizierung
Post lesen Posts lesen Post aktualisieren Post erstellen
PublicPostMetalesen
PostMetaaktualisieren
PrivatePostMetalesen Usererstellen
Kommentarelesen Kommentareerstellen Kommentarelöschen Useraktualisieren
![Page 17: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/17.jpg)
Authentifizierungsmethoden
• Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQBase64 kodiert username:passwordhttps://wordpress.org/plugins/wp-basic-auth/
• X-WP-Nonce: 5b5c8435f2Mit wp_create_nonce('wp_rest') erstellen
• OAuth v1https://github.com/WP-API/OAuth1/
![Page 18: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/18.jpg)
Beispiele
![Page 19: Einführung ins WP REST API](https://reader038.vdocuments.mx/reader038/viewer/2022100801/58cf68b61a28ab01358b62ed/html5/thumbnails/19.jpg)
Fragen