webentwicklung-frage-antwort-db.com.de

Erstellen eines Endpunkts in wordpress

Ich schreibe ein Plugin, mit dem einige meiner Installationen miteinander kommunizieren und bestimmte Informationen austauschen können. Ich möchte einen Endpunkt so angeben, dass example.com/path/here ist der Ort, an dem die andere Site gut geformtes XML oder POST gut geformtes XML (abhängig davon, in welche Richtung die Daten fließen) abrufen kann.

Als groben Hack habe ich ./wp-content/plugins/myplugin/endpoint.php aber ich habe den Eindruck, dass direkte Anrufe schlecht sein werden. Wie mache ich das auf die WordPress Weise)?

Sie können einen benutzerdefinierten Endpunkt mit add_feed Funktion. Ich habe dies in der Vergangenheit verwendet, um benutzerdefinierte iCal-Feeds zu erstellen.

// Initialize the feed
function your_add_custom_feed() {
    // This adds a feed http://example.com/?feed=myfeed
    add_feed('myfeed', 'your_create_feed');
}
add_action('init','your_add_custom_feed');

// Create a function to form the output
function your_create_feed() {

    // Query variables are accessible here ($_GET)
    $myvar = get_query_var('myvar');

    // You may need to specify the header before output here depending on your type of feed
    // header(...)

    // Echo your feed here.

}
2
Marc