Aktuelle URL in WordPress ermitteln
In WordPress sind einige Dinge nicht so einfach, wie sie zunächst erscheinen. So auch das Auslesen der aktuellen URL inklusive Query-String. Folgender Code sollte aber in allen Situationen erfolgreich sein:
$current_url = add_query_arg($_SERVER['QUERY_STRING'], '', home_url( $wp->request ));
(via)
Wer auf die Nutzung von “$_SERVER” verzichten möchte, kann dieses Code-Snippet verwenden:
$current_url = home_url(add_query_arg(array(),$wp->request));
Dieses Snippet funktioniert allerdings nur, wenn WordPress Permalinks benutzt. Wenn nicht muss das Snippet folgendermaßen angepasst werden:
$query_args = $wp_rewrite->using_permalinks() ? array() : $wp->query_string;
$current_url = esc_url_raw(home_url(add_query_arg($query_args, $wp->request)));
Sie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen
Danke, toller Artikel! Einfach kurz und knackig erklärt.
Das Snippet ist zwar schon ein paar Jahre alt, aber der Tipp funktioniert noch immer gut. :)
Danke Tobi. Hilfreicher und kurzer Beitrag. Toll.
Es sind zwar schon ein paar Tage vergangen, möchte es aber trotzdem versuchen, dir darauf eine Frage zu stellen. Wo trage ich den Code ein? Und wie kann ich es abfragen im Frontend? Der Hintergedanke ist, dass ich auf einer Produktseite (WOOCOMMERCE), auf der ich stehe, die URL ermitteln muss, weil ich sie auf der selben Seite an anderer Stelle weiterbearbeiten will. Ich bräuchte quasi die URL in einer Variable, die in zwischen den Text einbauen kann.
Kennst du da eine Möglichkeit?
Danke für Deine Bemühungen!
VG Uwe
Hallo Uwe,
den Code kannst du in jedes Theme-Template einbauen. Die URL ist dann automatisch in der Variable “$current_url” gespeichert. Ausgeben kannst du dann einfach via “echo”.
Viele Grüße Tobi