Fügen Sie eine benutzerdefinierte URL für meinen Webdienst in WordPress hinzu

Lesezeit: 2 Minuten

Ich bin neu in WordPress und erstelle eine Erweiterung für WordPress. Ich habe viel gesucht, aber keine Lösung gefunden. Vielleicht ist meine Frage doppelt, aber ich habe keine Lösung gefunden. Mein Problem ist:

Ich möchte eine benutzerdefinierte URL für meine Erweiterungs-API erstellen. Einige werden Daten auf dieser URL veröffentlichen und ich werde Daten in der Datenbank speichern. Meine URL sollte sein www.example.com/custom_url

Es wird keine Seite und kein Template für meine URL geben, es ist eine Art Webservice.

In meiner Erweiterung möchte ich also, dass diese custom_url automatisch für sie aktiviert wird, wenn ein Benutzer diese Erweiterung installiert.

Ich habe es versucht add_rewrite_rule , add_rewrite_endpoints usw. Aber kein Erfolg.

Bitte schlagen Sie mich vor oder geben Sie mir einen Link, wo es beschrieben wird.

Benutzeravatar von Dharmang
Dharmang

Laut dem Tutorial im WordPress-Forum:

Was sind Endpunkte?

Durch die Verwendung von Endpunkten können Sie auf einfache Weise Umschreibungsregeln erstellen, um die normalen WordPress-URLs abzufangen, jedoch mit einem kleinen Extra am Ende. Beispielsweise könnten Sie einen Endpunkt verwenden, um alle Post-URLs gefolgt von „Galerie“ abzugleichen und alle in einem Post verwendeten Bilder anzuzeigen, z
http://example.com/my-fantastic-post/gallery/.

Vollständiges Tutorial hier: https://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/

Daher ist es nicht hilfreich, virtuelle Seiten nach Bedarf zu erstellen.

Gemäß dem folgenden Beitrag auf WordPress Stack Exchange ist es jedoch möglich, virtuelle Seiten mit zu erstellen add_rewrite_rule

Wie erstellt man eine „virtuelle“ Seite in WordPress

Hier ein Auszug aus dem Originalartikel:

Zuerst fügen wir eine Rewrite-Regel hinzu, die eine Abfrage-Variable hinzufügt, dann machen wir diese Abfrage-Variable öffentlich und dann müssen wir prüfen, ob diese Abfrage-Variable existiert, um die Kontrolle an unsere Plugin-Datei zu übergeben. Zu diesem Zeitpunkt ist die übliche WordPress-Initialisierung erfolgt (wir brechen direkt vor der regulären Post-Abfrage ab).

add_action( 'init', 'wpse9870_init_internal' );
function wpse9870_init_internal()
{
    add_rewrite_rule( 'my-api.php$', 'index.php?wpse9870_api=1', 'top' );
}

add_filter( 'query_vars', 'wpse9870_query_vars' );
function wpse9870_query_vars( $query_vars )
{
    $query_vars[] = 'wpse9870_api';
    return $query_vars;
}

add_action( 'parse_request', 'wpse9870_parse_request' );
function wpse9870_parse_request( &$wp )
{
    if ( array_key_exists( 'wpse9870_api', $wp->query_vars ) ) {
        include 'my-api.php';
        exit();
    }
    return;
} 

Codex-Seite add_rewrite_rule

Benutzeravatar von sunny chauhan
sonniger chauhan

1). Aktion für virtuelle Seite erstellen.

add_action( 'template_redirect', 'apicall' );


function apicall() {

$callapi = $_GET['API'];

if($callapi=='YOUR API Name'){

            header('Content-Type: text/javascript; charset=utf8');
            header("Access-Control-Allow-Origin: *"); 
            header('Access-Control-Max-Age: 3628800');
            header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');

{{YOUR LOGIC}}

        exit;
}   
}

Schreiben Sie in die Browser-URL: www.YOURDOMAIN.com/?API=IHR API-NAME

1387480cookie-checkFügen Sie eine benutzerdefinierte URL für meinen Webdienst in WordPress hinzu

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy