Wie kann ich die aktuelle URL abrufen (ob Homepage, Archiv, Post-Typ-Archiv, Kategoriearchiv usw.), jedoch immer ohne das /page/{pagenum}/
Teil, wenn es vorhanden ist? Also, wenn die echte URL lautet:
example.com/category/uncategorized/
ODER
example.com/category/uncategorized/page/2/
dann ist der Rückgabewert immer
example.com/category/uncategorized/
permalinks
pagination
urls
Ihor Vorotnov
quelle
quelle
Die Antwort von Govind Kumar funktionierte, gab jedoch nur die URL zurück, wenn / page / {pagenum} / in der URL vorhanden war, und gab nichts zurück, wenn nicht. Ich brauchte eine universelle Lösung, die immer die Basis-URL ohne Paginierung zurückgibt, also habe ich Govinds Code ein wenig geändert und in eine Funktion eingebunden:
Jetzt wird immer die richtige URL zurückgegeben.
( Dies ist nützlich, wenn Sie eine Art Post-Filter implementieren müssen, die einen Parameter zum Filtern von Posts nach beispielsweise einer Meta-Datei hinzufügen. Selbst wenn ein Benutzer den Filter-Parameter auf Seite X festlegt, werden die neuen gefilterten Ergebnisse immer angezeigt Beginnen Sie mit der Basis-URL, nicht mit Seite X, und werfen Sie 404, wenn weniger gefilterte Beiträge vorhanden sind. )
quelle
/page
Teilstring Teil des Domainnamens ist (wenn www natürlich nicht verwendet wird). Das ist imo eher ein Randfall. Ich möchte Sie jedoch dazu ermutigen, einen Beitrag zu leisten, indem Sie Code hinzufügen, der auch diesen Fall abdeckt.Am einfachsten wäre es,
get_pagenum_link()
die aktuelle URL ohne/page/*
Parameter zurückzugeben.Bonus
Sie können es auch einfach verwenden, um mithilfe der
'paged'
Abfragevariablen dynamisch "Vorherige" und "Nächste" Links zu erstellen :quelle
Meine Angaben waren denen von Ihor Vorotnov sehr ähnlich, außer dass ich mehr als einen Parameter hatte. Ausgehend von seiner Antwort habe ich den Code so geändert, dass ein regulärer Ausdruck verwendet wird:
quelle
Wenn Sie alle möglichen Paginierungskombinationen entfernen möchten, verwenden Sie dieses Snippet:
Es wird sich darum kümmern
und unterscheidet nicht zwischen Groß- und Kleinschreibung, funktioniert für jede Paginierungsseitenzahl und entfernt auch jede Kombination aus nachfolgender Nummer / Nummer / Nummer ... (Tests hier: https://regex101.com/r/9fQaLC/1 )
Wenn Sie die vollständige URL mit führenden http (s) erhalten möchten, fügen Sie einfach hinzu
In dieser Zeile können Sie auch einen beliebigen benutzerdefinierten GET-Parameter hinzufügen
quelle
Während diese Frage hier bereits beantwortet wurde (nicht akzeptiert), sollte dieses Snippet den Trick machen :
home_url(add_query_arg(NULL, NULL));
.quelle
page/{pagenum}
.quelle