Heim >CMS-Tutorial >WordDrücken Sie >Erstellen benutzerdefinierter Endpunkte für die WordPress Rest API
Dieses Tutorial zeigt das Erstellen eines benutzerdefinierten WordPress -REST -API -Endpunkts. Wir werden ein Kinderthema von "zwanzig siebzehn" erstellen, um diese Funktionalität hinzuzufügen, und dann unseren benutzerdefinierten API -Endpunkt registrieren. Die WordPress Rest API geht über ihre integrierten Routen hinaus. Sie können benutzerdefinierte Routen und Endpunkte erstellen, die dieselben APIs wie die Standardrouten verwenden (z. B. register_rest_route()
und die WP_Rest_Controller
Klasse). Dies ermöglicht eine nahtlose WordPress -Integration in andere Systeme und verbessert seine Funktionen als Anwendungsentwicklungsplattform.
benutzerdefinierte Endpunkte können in Plugins oder Themen erstellt werden.
Schlüsselkonzepte:
register_rest_route()
Klasse werden benutzerdefinierte Routen und Endpunkte erstellen, wodurch die Erstellung von Standardrouten spiegelt. WP_REST_Controller
WP_REST_Controller
Erstellen eines untergeordneten Themas:
. /wp-content/themes
twentyseventeen-child
<code class="language-bash">cd /var/www/html/wp-content/themes mkdir twentyseventeen-child</code>
style.css
<code class="language-bash">touch style.css</code>
hinzu
style.css
<code class="language-css">/* Theme Name: Twenty Seventeen Child Theme description: A child theme of the Twenty Seventeen WordPress theme Author: Ahmed Bouchefra Template: twentyseventeen Version: 1.0.0 */</code>gibt den Verzeichnisnamen des übergeordneten Themas an.
Template
und aktivieren Sie Ihr neues Kind.
functions.php
Wir erstellen eine Route, um die neuesten Beiträge für eine bestimmte Kategorie -ID abzurufen, die über:
zugänglich istAnfangs wird ein 404 -Fehler zurückgegeben, da die Route nicht definiert ist.
<code>http://localhost/wp-json/mytwentyseventeentheme/v1/latest-posts/<category_id></category_id></code>
Fügen Sie dem folgenden Code dem Ihres Kindes
hinzu
<code class="language-bash">cd /var/www/html/wp-content/themes mkdir twentyseventeen-child</code>
Dies verwendet register_rest_route()
mit:
mytwentyseventeentheme/v1
latest-posts/(?P<category_id>d )</category_id>
GET
Methode und der get_latest_posts_by_category()
Rückruf. Namespaces verhindern Routenkonflikte zwischen Plugins/Themen. Die (?P<category_id>d )</category_id>
regex extrahiert die Kategorie -ID.
Implementierung der Rückruffunktion:
Fügen Sie jetzt die Funktion get_latest_posts_by_category()
zu functions.php
:
<code class="language-bash">touch style.css</code>
Dies ruft die category_id
ab, wobei die Beiträge mit get_posts()
abfragt, leere Kategorien mit einem WP_Error
behandelt und ein WP_REST_Response
.
Zugriff auf http://<your_site_domain>/wp-json/mytwentyseventeentheme/v1/latest-posts/1</your_site_domain>
(ersetzen Sie durch Ihre Domäne und Kategorie -ID) kehrt jetzt Beiträge aus dieser Kategorie zurück.
(Der Rest des Tutorials, die Desinfektion, Validierung, Zugangsbeschränkung, das Controller -Muster und FAQs abdecken Einschränkungen, ich habe diese Abschnitte wiederholt.
Das obige ist der detaillierte Inhalt vonErstellen benutzerdefinierter Endpunkte für die WordPress Rest API. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!