esc_attr()

Définition : esc_attr() échappe une valeur destinée à un attribut HTML dans WordPress. Elle empêche des caractères spéciaux d’altérer la structure de l’attribut ou de produire un contenu non prévu.

Terminologie

Terme officiel : esc_attr()

Autres appellations : Échappement d’attribut

À quoi cela sert

Elle est essentielle lorsque des valeurs variables alimentent les attributs value, title, aria-label ou des identifiants d’éléments HTML.

Comment cela fonctionne

WordPress transforme les caractères susceptibles d’être interprétés comme délimiteurs de balises ou d’attributs. Cette adaptation au contexte doit être réalisée au moment de générer le HTML.

Dans quel contexte l’utiliser

À utiliser pour une valeur de formulaire déjà connue, une légende courte ou un attribut de description. Les URL dans href et src exigent une protection adaptée.

Exemple concret

Un panneau d’édition affiche une référence existante dans un champ texte sans permettre de casser son attribut value.

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
$valeur = 'Référence "A&B"';
echo '<label for="atoolpha_ref">Référence</label>';
echo '<input id="atoolpha_ref" name="atoolpha_ref" value="'
    . esc_attr( $valeur ) . '">';

Explication pas à pas de l’exemple

1. La valeur comporte des guillemets et une esperluette. 2. esc_attr() les encode pour l’attribut value. 3. Le navigateur peut afficher la chaîne initiale sans modifier le reste de la balise.

Résultat attendu

Le champ affiche correctement Référence "A&B" et demeure un élément de formulaire valide.

Mise en pratique guidée

Préparer un formulaire avec une valeur contenant des guillemets. Inspecter dans les outils de développement du navigateur le DOM obtenu quand la valeur est insérée via esc_attr(). Vérifier que l’attribut value reste entier et que le champ est utilisable. Tester ensuite un aria-label variable pour comprendre que la même règle s’applique aux attributs accessibles.

Précautions et limites

esc_attr() ne valide ni les permissions ni le format métier du champ. Ne pas utiliser cet échappement comme unique contrôle des URL ou des styles arbitraires.

À ne pas confondre

esc_attr() cible les attributs HTML ; esc_html() cible leur contenu textuel ; esc_url() cible les adresses.

Termes associés

  • esc_html()
  • esc_url()
  • Meta Box

Références officielles

Bouton retour en haut de la page