esc_url()

Définition : esc_url() prépare et filtre une adresse destinée à une sortie HTML dans WordPress. Elle retire ou normalise certains caractères et contrôle notamment les protocoles autorisés pour ce contexte.

Terminologie

Terme officiel : esc_url()

Autres appellations : Échappement des URL

À quoi cela sert

Elle protège les liens et les sources d’éléments lorsque l’adresse provient d’un réglage ou d’un autre contenu variable, tout en gardant une syntaxe adaptée au navigateur.

Comment cela fonctionne

La fonction vérifie l’adresse au regard des protocoles permis, puis produit une valeur échappée pour un attribut HTML. Elle ne garantit ni la fiabilité du site distant ni son absence de contenu malveillant.

Dans quel contexte l’utiliser

À employer pour écrire un href ou un src. Pour enregistrer une URL en base, examiner esc_url_raw() selon la nature de l’entrée.

Exemple concret

Une fiche encyclopédique contient un lien vers une documentation technique externe que le thème doit afficher de manière sûre.

Exemple de code commenté

Extrait pédagogique PHP pour extension WordPress : adapter au contexte et tester sur un environnement de développement avant tout usage.

<?php
$url = 'https://developer.wordpress.org/reference/';
echo '<a href="' . esc_url( $url )
    . '" rel="noopener noreferrer">Documentation</a>';

Explication pas à pas de l’exemple

1. L’URL source est définie. 2. esc_url() la traite pour le contexte href. 3. Le texte du lien est constant. 4. L’attribut rel explicite le comportement voulu.

Résultat attendu

Le lien vers la documentation s’affiche avec une adresse correctement préparée pour le navigateur.

Mise en pratique guidée

Comparer une URL HTTPS valide, une URL relative et une chaîne avec un protocole non autorisé. Observer la valeur produite par esc_url() avant insertion dans href. Vérifier séparément la destination externe : la fonction prépare le lien, mais ne garantit pas que le serveur distant soit sûr ou qu’une page existe toujours.

Précautions et limites

Une URL valide syntaxiquement n’est pas forcément digne de confiance. Ne pas utiliser esc_url() comme moyen de vérifier l’identité ou la réputation d’un domaine.

À ne pas confondre

esc_url() sécurise une URL affichée ; esc_attr() sécurise un attribut quelconque ; wp_safe_redirect() traite une redirection HTTP.

Termes associés

  • esc_attr()
  • wp_safe_redirect()

Références officielles

Bouton retour en haut de la page