Comment puis-je récupérer l'URL actuelle (que ce soit la page d'accueil, l'archive, l'archive de type de publication, l'archive de catégorie, etc.) mais toujours sans la /page/{pagenum}/
partie si elle est présente? Donc, si la véritable URL est:
example.com/category/uncategorized/
OU
example.com/category/uncategorized/page/2/
alors la valeur de retour sera toujours
example.com/category/uncategorized/
permalinks
pagination
urls
Ihor Vorotnov
la source
la source
Réponse de Govind Kumar a fonctionné, cependant, il ne renvoyait l'URL que si / page / {pagenum} / était présent dans l'URL et ne renvoyait rien sinon. J'avais besoin d'une solution universelle qui retournera toujours l'URL de base sans pagination, j'ai donc modifié un peu le code de Govind et enveloppé dans une fonction:
Maintenant, il renvoie toujours l'URL correcte.
( Ceci est utile si vous devez implémenter une sorte de filtre de publication qui ajoute un paramètre pour filtrer les publications par, disons, un méta-fichier. Donc, même si un utilisateur définit le paramètre de filtre à la page X, les nouveaux résultats filtrés seront toujours commencez par l'URL de base, pas la page X et lancez 404 s'il y a moins de messages filtrés. )
la source
/page
sous - chaîne faisant partie du nom de domaine (si www n'est pas utilisé, bien sûr). C'est, imo, plutôt un cas de bord. Cependant, je vous encourage à contribuer en ajoutant du code qui couvrira également ce cas.En fait, le plus simple serait d'utiliser
get_pagenum_link()
qui vous renverra l'URL actuelle sans aucun/page/*
paramètre.Prime
Vous pouvez également simplement l'utiliser pour créer dynamiquement des liens "Précédent" et "Suivant" en utilisant la
'paged'
variable de requête:la source
Mes spécificités étaient très similaires à celles d'Ihor Vorotnov, sauf que j'avais plus d'un paramètre. Donc, à partir de sa réponse, j'ai modifié le code pour utiliser une expression régulière:
la source
Si vous souhaitez supprimer toutes les combinaisons de pagination possibles, utilisez cet extrait de code:
Il prendra soin de
et ne respecte pas la casse, fonctionne pour tout numéro de page de pagination et supprimera également toute combinaison de numéro / numéro / numéro de fin ... (tests ici: https://regex101.com/r/9fQaLC/1 )
Si vous souhaitez obtenir l'URL complète avec les principaux http, ajoutez simplement
Dans cette ligne, vous pouvez également ajouter n'importe quel paramètre GET personnalisé comme
la source
Bien que cette question a été déjà répondu ici (non acceptée), cet extrait devrait faire l'affaire:
home_url(add_query_arg(NULL, NULL));
.la source
page/{pagenum}
.la source