get_permalink()

Définition : get_permalink() retourne l’URL permanente d’un contenu WordPress. Elle tient compte des règles de permaliens et permet de créer des liens vers des publications sans fabriquer l’adresse manuellement.

Comprendre et utiliser

À quoi sert ce terme ?

Elle facilite les changements de structure d’URL : un thème ou un plugin peut continuer de générer des liens même lorsque les permaliens sont modifiés dans les réglages du site.

Fonctionnement technique

La fonction accepte un identifiant de publication et produit une URL calculée par WordPress. Des filtres et le contexte de l’objet peuvent modifier le résultat : ce n’est pas une simple concaténation de slug.

Dans quels contextes l’utiliser ?

On l’emploie pour générer des cartes d’articles, des listes de contenus liés et des boutons d’accès. Le résultat doit être échappé par esc_url() à l’affichage dans un attribut href.

Cas concret : ATOOLPHA

ATOOLPHA veut produire un bouton « Lire la fiche » depuis une liste de publications, sans stocker l’URL finale dans une table personnelle.

Exemple de code commenté

Extrait PHP destiné à un plugin ou à un template WordPress, dans le contexte indiqué ; pas au contenu HTML de l’article.

<?php
$post = get_post( 123 ); // Valeur de démonstration.
if ( $post instanceof WP_Post ) {
    $url = get_permalink( $post );
    if ( $url ) {
        echo '<a href="' . esc_url( $url ) . '">Lire la fiche</a>';
    }
}

Décryptage de l’exemple

La vérification de l’objet évite de travailler sur un ID non résolu. Le lien utilise esc_url() pour la destination et un libellé fixe ; le code ne fabrique aucun chemin en supposant la structure du site.

Résultat attendu

Le bouton pointe vers l’URL calculée pour la publication concernée dans les conditions de visibilité du site.

Exercice pratique et vérification

Dans un site de test, modifier le réglage des permaliens puis relever deux URL pour le même article. Vérifier le rendu et le retour HTTP après sauvegarde des réglages.

Précautions et limites

Un permalien obtenu ne garantit pas qu’un visiteur anonyme puisse consulter un brouillon ou un contenu protégé. Tester les liens en session déconnectée.

À ne pas confondre

get_permalink() calcule l’URL ; the_permalink() l’affiche ; le slug n’est qu’un des éléments susceptibles de participer à cette URL.

Diagnostic avancé

En cas de 404, comparer la valeur générée et les règles de réécriture ; enregistrer à nouveau les permaliens seulement lorsque nécessaire, sans flush sur chaque requête.

Choix d’architecture et déploiement

Une migration de domaine ou de structure de permaliens modifie le contexte d’exploitation. Éviter de conserver les anciennes URLs calculées dans les métadonnées sans raison précise ; la fonction WordPress doit rester la source de calcul des destinations internes lorsque c’est possible.

Contrôle avant intégration

Contrôler les redirections, la visibilité des publications, le protocole HTTPS et la stabilité des liens après migration.

Notions associées

  • Permalinks
  • WP_Rewrite
  • esc_url()

Références officielles

Bouton retour en haut de la page