Ich versuche, meiner URL eine lokale Variable hinzuzufügen.
Als Beispiel habe ich diese URL:
mysite.com/my-page-name/
Und ich möchte 'en' Variable hinzufügen und die Seite richtig funktionieren lassen:
mysite.com/en/my-page-name/
Ich habe versucht, mit add_rewrite_tag()
und add_rewrite_rule()
damit umzugehen, aber es funktioniert nicht. Was mache ich falsch?
add_rewrite_tag('%locale%', '^([a-z]{2})');
add_rewrite_rule('^([a-z]{2})/(.+)[/$]', 'index.php?pagename=$matches[2]', 'top');
Es war nur ein Fehler bei der Umschreibung von regulären Ausdrücken. Dieser funktioniert perfekt!
add_rewrite_rule('^([a-z]{2})\/(.+)(\/)?$', 'index.php?page=&pagename=$matches[2]&locale=$matches[1]', 'top');
Es gibt verschiedene Möglichkeiten, dies zu erreichen. Am einfachsten ist es, eine neue Seite mit dem Namen "en" zu erstellen, damit der Slug mysite.com/en/
lautet.
Machen Sie nun die "en" -Seite als übergeordnetes Element von my-page-name oder mit anderen Worten, machen Sie my-page-name als untergeordnetes Element von en. So wird Schnecke mysite.com/en/my-page-name/
sein