Wie rufe ich $ _GET-Variablen von neu geschriebenen URLs ab?

7

Ich muss einige spezielle $ _GET-Parameter für eine benutzerdefinierte Seite erhalten, die ich erstelle. Ich weiß, wie ich diese über ein einfaches $ _GET wie mysite.net/products/?id=1 erhalten kann, aber ich wollte den URL-Stil von verwenden mein WordPress wie mysite.net/products/1.

Wie rufe ich $ _GET-Variablen von neu geschriebenen URLs ab?

Jonathan dos Santos
quelle
Ich habe dies fälschlicherweise als Duplikat gewählt ...
Stephen Harris

Antworten:

7

Hinzufügen zu init:

So registrieren Sie Ihre benutzerdefinierte Variable ('id' in der Frage)

add_rewrite_tag('%mycustomvar%','([^&]+)');

So erstellen Sie eine Umschreibregel:

add_rewrite_rule('^product/([0-9]{1,})/?','index.php?p=4&mycustomvar=$matches[1]','top')

4 ist die ID der 'Produkt'-Seite. Nach dem Hinzufügen müssen Sie die Umschreiberegeln einmal löschen (siehe Seite Permalink-Einstellungen).

Sie können den Wert von erhalten mycustomvar: get_query_var( 'mycustomvar' ).

Siehe Codex für:

Stephen Harris
quelle