Gibt es eine WP-Funktion, um automatisch die richtige URL der aktuellen Seite abzurufen? Das heißt, wenn ich gerade einen einzelnen Beitrag geöffnet habe, gibt die Funktion dasselbe zurück wie get_permalink()
, aber wenn ich mich auf einer paginierten Instanz einer Seite befinde (wenn ich durch die Kommentare paginiere), gibt die Funktion dasselbe zurück, wie get_pagenum_link(get_query_var('paged'))
es der Fall wäre.
Ich habe den Codex durchsucht, aber nicht gefunden, wonach ich gesucht habe. (Ist get_pagenum_link()
dort aber auch nicht dokumentiert.)
Ich kenne diese Funktion bereits, würde mich aber freuen, wenn es eine "native" WP-Funktion geben würde, die diese Aufgabe übernimmt.
Danke im Voraus! Grüße, René
quelle
Keine Funktion, aber definitiv mit WordPress-Code.
http://kovshenin.com/2012/current-url-in-wordpress/
quelle
year
werden der Abfragezeichenfolge hinzugefügt, obwohl sie vorher noch nicht vorhanden waren, und andere Parameter, z. B. derreplytocom
Parameter, gehen verloren. Kennen Sie eine Lösung dafür?1)
$_SERVER['REQUEST_URI']
- Gibt die URL für den Zugriff auf die Seite zurück, auf der das Skript ausgeführt wird. Wenn Siehttp://www.example.com/product.php?id=5
eingeben müssen, um auf die Seite zuzugreifen,$_SERVER['REQUEST_URI']
kehren Sie zurück/product.php?id=5
.2)
$_SERVER['DOCUMENT_ROOT']
- Gibt das Stammverzeichnis des Servers zurück, das in der Konfigurationsdatei des Servers angegeben ist. Diese Variable gibt normalerweise den Pfad wie/usr/yoursite/www
in Linux undD:/xamps/xampp/htdocs
in Windows zurück.3)
$_SERVER['HTTP_HOST']
- Gibt den Hostnamen zurück, der im http-Header enthalten ist. Diese Variable gibt normalerweise den Pfad so ,example.com
wenn die Sie findenhttp://example.com
in Browser-Adressleiste und Rückkehr ,www.example.com
wenn Sie sehenhttp://www.example.com
in der Adressleiste. Dies ist sehr nützlich, wenn Sie die Sitzung bei der Online-Zahlung mit PHP beibehalten möchten, da die für gespeicherte Sitzunghttp://example.com
nicht mit der für die Sitzung identisch isthttp://www.example.com
.4)
$_SERVER['HTTP_USER_AGENT']
- Gibt die Details des Benutzeragenten (Browsers) zurück, der auf die Webseite zugreift. Wir könnenstrpos($_SERVER["HTTP_USER_AGENT"],”MSIE”)
Microsoft Internet Explorer erkennen oder Sie könnenstrpos($_SERVER["HTTP_USER_AGENT"],”Firefox”)
Firefox-Browser in PHP erkennen.5)
$_SERVER['PHP_SELF']
- Gibt den Dateinamen des aktuell ausgeführten Skripts zurück. Angenommen, Sie greifen auf die URL zuhttp://www.example.com/product.php?id=5
und$_SERVER['PHP_SELF']
kehren/product.php
in Ihrem Skript zurück.6)
$_SERVER['QUERY_STRING']
- Gibt die Abfragezeichenfolge zurück, wenn für den Zugriff auf das aktuell ausgeführte Skript eine Abfragezeichenfolge verwendet wird. Abfragezeichenfolgen sind Zeichenfolgen, die nach dem Zeichen "?" Verfügbar sind. Wenn Sie$_SERVER['QUERY_STRING']
im Skript die folgende URL ausführen, wirdhttp://www.example.com/index.php?id=5&page=product
sieid=5&page=product
in Ihrem Skript zurückgegeben.7)
$_SERVER['REMOTE_ADDR']
- Gibt die IP-Adresse des Remote-Computers zurück, der auf die aktuelle Seite zugreift. Sie können sich jedoch nicht darauf verlassen$_SERVER['REMOTE_ADDR']
, die tatsächliche IP-Adresse des Client-Computers zu ermitteln. In diesem Artikel erfahren Sie, wie Sie echte IP-Adressen in PHP erhalten.8)
$_SERVER['SCRIPT_FILENAME']
- Gibt den absoluten Pfad der aktuell ausgeführten Datei zurück. Es gibt den Pfad wievar/example.com/www/product.php
in Linux und den Pfad wieD:/xampp/xampp/htdocs/test/example.php
in Windows zurück.quelle
wp_guess_url ist das, wonach Sie suchen.
quelle
add_query_args( null, null )
erstellt ein Array-Element mit leerem Schlüssel ($qs[""] = null
), obwohl es das Ergebnis nicht beeinflusst.Entsprechend add_query_arg () | Funktion | WordPress Developer Resources , der 2. und 3. Parameter sind optional und können weggelassen werden.
add_query_args( null, null )
kann kürzer sein .Es gibt auch die kürzeste Version , die jedoch nicht empfohlen wird, da der 1. Parameter der erforderliche Parameter ist.
Beachten Sie außerdem, dass sowohl
home_url( add_query_vars( [] ) )
als auchhome_url( add_query_arg( null, null ) )
möglicherweise nicht die tatsächliche URL zurückgeben, wenn WordPress in einem Unterverzeichnis installiert ist.zB
https://example.com/wp/wp/foo
könnte zurückgegeben werden, wenn WordPress in installiert isthttps://example.com/wp/
.Aktualisierung: 23.01.2017
Meine Version basiert auf der Lösung von David, um die absolute URL zu erhalten.
quelle
Bei mir
<?php esc_url(the_permalink()); ?>
funktioniert das (auf einer Archivseite mit Paginierung).quelle
the_permalink()
gibt den entkommenen Permalink wieder und gibt nichts zurück. Deresc_url()
bekommt nichts, und wenn es so wäre, wäre es eine entkoppelte URL.Ich habe jetzt keine Paginierung, aber Sie können diese Funktion verwenden, um die URL innerhalb der Schleife abzurufen
Wenn Sie PHP nicht bevorzugen, können Sie sich auch hier für die jquery-Methode entscheiden.
oder wenn Sie die PHP-Funktion bevorzugen, müssen Sie die ID außerhalb der Schleife erhalten
quelle
the_permalink()
benötigt die ID nicht, wenn sie in der Schleife aufgerufen wird.Sie können die WordPress-Funktion verwenden, um die aktuelle Seiten-URL abzurufen
Dies gibt den aktuellen URL-Link zurück.
quelle
the_permalink()
wird drucken Sie die URL des aktuellen Beitrag. Bei anderen Anfragen funktioniert dies jedoch nicht und Variablen wie die Paginierung werden nicht berücksichtigt. Also nicht wirklich die Antwort, die @ René Schubert sucht.