wake-up-neo.com

Wie füge ich eine add_rewrite_rule hinzu, ohne sie umzuleiten?

Ich habe einen benutzerdefinierten Beitragstyp namens "Standorte".

Ich habe einen Ort namens "Starbucks". Ich kann dies anzeigen, indem ich zu "/ location/starbucks" gehe.

Ich möchte der URL "Coffee-Shop" hinzufügen, damit der Pfad "/ location/Coffee-Shop/Starbucks" die Seite "Starbucks" lädt, während die URL im Browser beibehalten wird.

ich habe diesen Code zu meiner functions.php hinzugefügt

function add_rewrite_rules()
{
    add_rewrite_rule('^location/([^/]*)/([^/]*)/?','index.php?pagename=$matches[2]','top');
}

add_action('init', 'add_rewrite_rules');

Die Seite "starbucks" wird korrekt geladen, die URL wird jedoch in "/ location/starbucks" geändert.

Wie kann ich die "Starbucks" -Seite laden und meine benutzerdefinierte URL behalten?

2
Corey

In Ihrer Umschreiberegel sollte pagename tatsächlich der query_var Ihres benutzerdefinierten Beitragstyps sein. Sofern Sie in Ihren query_var => 'something_else'-Argumenten nicht register_post_type verwendet haben, hat dieser Name denselben Namen wie Ihr benutzerdefinierter Beitragstyp:

index.php?locations=$matches[2]
3
TheDeadMedic