it-swarm.com.de

Beim Hinzufügen einer benutzerdefinierten REST Endpunkt, wo platzieren Sie die Endpunktfunktion und wo platzieren Sie den Funktionsregistrierungsaufruf?

WordPress-Dokumentation, Blogger und StackExchange-Beantworter haben den Code, den Sie zum Erstellen eines benutzerdefinierten REST -Endpunkts geschrieben haben, hervorragend beschrieben, aber ich kann keine Dokumentation finden, die genau beschreibt,WOBEISie platzieren den Code.

Angenommen, ich habe einen Endpunkt, auf dem die Zeichenfolge "foo" zurückgegeben werden soll. Nach meiner Lektüre implementiere ich eine Funktion wie diese:

function my_foo() {
    return "foo";
}

und ich registriere die Funktion mit einem Aufruf wie folgt:

add_action( 'rest_api_init', function () {
    register_rest_route( 'mycompany/v1', '/foo/', array(
            'methods' => 'GET',
            'callback' => 'my_foo'
    ) );
} )

Daran ist nichts Schwieriges, aber für mein Leben kann ich nicht herausfinden, wo ich das hinstellen soll.

Für den REST -Endpunkt gehe ich davon aus, dass ich die Funktion in eine Datei einfügen würde unter:

wp-json/mycompany/v1/foo.php

aber es wäre schön, sicher zu wissen.

Was den add_action()-Anruf anbelangt, habe ich auch ein Problem damit, herauszufinden, wohin der Anruf geht.

Die Dokumentation hier beschreibt nicht, wo diese Anrufe leben sollen, ebenso der Artikel hier (und viele andere Quellen, die ich gefunden habe).

Wenn irgendjemand darauf hinweisen könnte, wo diese Orte dokumentiert sind oder dass ich etwas ganz vorne vermisse, wäre das großartig!

5
Rjak

Wenn Sie ein Thema entwickeln, geben Sie in diesem Fall die richtige Position für Ihren Code an, wenn Sie die functions.php-Datei Ihres Themas verwenden. Dies ist die Datei, die mit Sicherheit ausgeführt wird, wenn auf Ihre Website zugegriffen wird.

Wenn Sie ein Plugin entwickeln, können Sie Ihren Code in eine PHP-Datei (wie foo.php) einfügen und diese dann in Ihre Vorlage einfügen/fordern, je nachdem, was Ihren Anforderungen entspricht.

Speichern oder ändern Sie KEINE Datei außerhalb des Ordners wp-content oder Ihrer Plugins. Diese werden von WordPress-Updates überschrieben und können von einigen Anti-Malware-Plugins/Server-Apps als Malware identifiziert werden.

Sie können Ihren Code direkt in die Kerndatei Ihres Plugins einfügen, aber ich bevorzuge es, die Funktionen zu kategorisieren, falls ich später schnell darauf zugreifen oder sie ändern muss (persönliche Meinung).

3
Jack Johansson