webentwicklung-frage-antwort-db.com.de

Mehrere Endpunkte in einer URL

Ich versuche, mehrere Endpunkte in einer URL wie folgt hinzuzufügen:

http: // localhost: 1000/manage-lead/lead_id/1000/product_id/123455

Auf diese Weise ist die Abfrage var lead_id gleich 1000/product/123455 und nicht 1000.

Wenn ich es so mache, geht alles richtig:

http: // localhost: 1000/manage-lead/lead_id/1000 /? product_id = 123455

Daher denke ich, dass ich einige Umschreiberegeln hinzufügen muss, damit Wordpress versteht, dass lead_id und product_id zwei Abfragevarianten sind.

Wie ich meine Endpunkte hinzufüge:

function add_lead_management_endpoints() {

    add_rewrite_endpoint( 'lead_id', EP_PAGES );
    add_rewrite_endpoint( 'product_id', EP_PAGES );

}
add_action( 'init', 'add_lead_management_endpoints' );
3
Robbert

Sie sind sich des Kontexts nicht sicher, handelt es sich um einen benutzerdefinierten Beitragstyp oder nur um eine Seite?

Das könnte etwas sein, wonach Sie suchen -

function add_lead_management_endpoints() {
    add_rewrite_rule(
        'manage-lead/lead_id/([0-9]{1,})/product_id/([0-9]{1,})',
        'index.php?pagename=manage-lead&lead_id=$matches[1]&product_id=$matches[2]',
        'top'
    );

    add_rewrite_tag( '%lead_id%', '([^&]+)' );
    add_rewrite_tag( '%product_id%', '([^&]+)' );
}
add_action( 'init', 'add_lead_management_endpoints' );

Sie müssen Permalinks löschen, damit dies wirksam wird (besuchen Sie Einstellungen-> Permalinks).

2
Elliott