Wie man Region Identifier an eine hübsche URL anhängen?

Ich möchte in der Lage sein, eine URL zu haben, in der eine Region definiert ist (alias USA = us oder Canada = ca) und ich möchte, dass die URL schön ist. Keine dieser Variablen an die URL anhängen.

Beim Entcasting einer WordPress-Seite gibt es das Slug-Feld, das im Grunde die URL für diese Seite ist.

<>/<>/<> 

Ich möchte den Ländercode der URL in meinem Theme hinzufügen und php erlauben, meine Wahl zu sortieren, ohne einen 404 zu bekommen. Oder aufgrund von kanonischen URLs zeigen die ca oder uns auf magische Weise auf andere Seiten. (Dh wenn die URL mit Ländercode ca beendet wird, wird die Seite auf / careers page weitergeleitet, was ich nicht möchte.)

Wünschte, ich hätte ein Beispiel zu liefern, meine Seite ist noch nicht live. Arbeitet immer noch in einem Dev-Zustand.

Gibt es eine Möglichkeit, die * .htaccess anzupassen, um die Regeln für meine Bedürfnisse anzupassen? Oder gibt es eine andere Möglichkeit, dieses Problem zu lösen? Ich habe über Internationalisierung nachgedacht, aber es wurden Änderungen an Bild und Layout vorgeschlagen.

Aktualisieren

Verwenden Sie add_rewrite_rule wie in functions.php deklariert

  

Wie kann ich auf das Land zugreifen? Ist es über $_GET['country'] ?

Solutions Collecting From Web of "Wie man Region Identifier an eine hübsche URL anhängen?"

Mit dieser Frage konnte ich dieses Problem beheben:

Brauchen Sie Hilfe mit add_rewrite_rule

Um die Änderungen, die ich hier gemacht habe, kurz anzuzeigen, habe ich in meinem Thema functions.php die folgende Aktion hinzugefügt:

 add_action('init','custom_rewrite_rule'); function custom_rewrite_rule(){ add_rewrite_rule('^student/([^/]*)/','index.php?pagename=student&country=$matches[1]','top'); } 

Dies ermöglicht meinen URLs die hübsche Form von:

  • {{site_url}} / Schüler / ca /
  • {{site_url}} / student / us /

Diese Form der URL ist jedoch erst erkennbar, wenn die Permalinks gelöscht sind. Gehe dazu auf das wp-admin-Dashboard , wähle Settings->Permalinks aus dem rechten Menübildschirm und drücke den Save Knopf am unteren Rand des Hauptbildschirms.

Jetzt sollten die obigen URLs funktionieren.

Als Nächstes möchten Sie die zusätzliche Variable in der URL für die spätere Verwendung speichern. Im obigen Beispiel ist es country . Dies geschieht mit add_filter in functions.php :

 add_filter('query_vars','country_selection'); function country_selection($query_vars){ $query_vars[]='country'; return $query_vars; } 

Zu guter Letzt möchten Sie möglicherweise später auf diesen Wert zugreifen (zB: student.php). Verwenden Sie dazu Folgendes:

 $wp_query->get('country'); 

Sie können die obige Variable mit echo / var_dump erstellen oder ihr Ergebnis zur späteren Verwendung in einer anderen Variablen speichern.