---
title : Écrire des fonctions PHP traduisibles pour WordPress - isla Studio
url : https://isla-stud.io/ratgeber/uebersetzbare-php-funktionen-fuer-wordpress-schreiben/
date : 2023-03-21
---

# Écrire des fonctions PHP traduisibles pour WordPress

Extrait du manuel du développeur WordPress :



Escaping Output désigne la sécurisation des données de sortie en supprimant les données/caractères indésirables, tels que les balises HTML ou de script erronées. Ce mécanisme contribue à sécuriser les données avant le rendu pour l'utilisateur final.



WordPress contient de nombreuses fonctions d'aide que vous pouvez utiliser pour les scénarios les plus courants.



Faites bien attention à ce que chaque fonction fait, car certaines suppriment le HTML alors que d'autres l'autorisent. Vous devez utiliser la fonction la plus adaptée au contenu et au contexte que vous souhaitez éditer. La fonction d'échappement doit toujours être utilisée pendant la sortie (php echo), pas avant.



Aperçu des fonctions d'échappement







esc_attr()



Utilisée pour tout le reste qui est affiché dans l'attribut d'un élément HTML.



esc_html()



Utilisée chaque fois qu'un élément HTML inclut une section de données à afficher (supprime html).



esc_js()



A utiliser pour le javascript en ligne.



esc_textarea()



 Pour encoder du texte à utiliser dans un élément textarea.



esc_url()



 Utilisation pour toutes les URLs, y compris celles contenues dans les attributs src et href d'un élément HTML.



esc_url_raw()



Utilisée lorsqu'une URL est enregistrée dans la base de données ou dans d'autres cas où des URL non codées sont nécessaires.



wp_kses()



Utilisation pour tous les éléments HTML non fiables (texte de la publication, texte du commentaire, etc.)



wp_kses_post()



Version alternative de wp_kses(), qui autorise automatiquement tout le contenu HTML autorisé dans les posts.



wp_kses_data()



Version alternative de wp_kses(), qui n'autorise que le code HTML autorisé dans les commentaires de posts.



Garantir le multilinguisme lors de l'escapage



Si l'édition est effectuée comme dans l'exemple ci-dessous, nous nous assurons que




les phrases soient conservées (pas de rupture de phrase)



une séparation correcte soit assurée.



il est possible d'organiser différemment les liens de contact et les liens de messagerie (ou autre) dans la phrase traduite.




// Exemple url (pourrait par exemple provenir d'une saisie utilisateur non sécurisée via un formulaire.)
$contact_url = 'https://www.example.com/contact/' ;
// escaper $contact_url
$contact_url = esc_url( $contact_url ) ;

// Exemple d'adresse e-mail (pourrait par exemple provenir d'une saisie utilisateur non sécurisée via un formulaire.)
$contact_email = 'info@mydomain.com' ;
// escaping, sanitizing &amp; masquer $contact_email.
// Oui, il faut sanitizer et escaper l'adresse e-mail même si on utilise la fonction antispambot() function
$contact_email = esc_url( sprintf( 'mailto:%s', antispambot( sanitize_email( $contact_email ) ) ), array( 'mailto' ) ) ;

esc_html_e( 'Dear guest, we have not found any details regarding your request.', 'text-domain' ) ;
echo "<br><br>" ;

printf(
    esc_html__( 'Veuillez nous contacter par le biais de notre %1$s ou via %2$s.', 'text-domain' ),
    sprintf(
        '<a href="/fr/s-2/">%s</a>',
        $contact_url,
        esc_html__( 'Page de contact', 'domaine texte' )
        ),
    sprintf(
        '<a href="/fr/s-2/">%s</a>',
        $contact_email,
        esc_html__( 'Email', 'text-domain' )
        )
    ) ;



Le traducteur dispose ainsi de deux phrases complètes et de deux mots simples à traduire. Un traducteur ne doit donc s'occuper que des lignes simples suivantes (tandis que le CODE se charge du reste) :



esc_html_e( 'Dear guest, we were unable to find any details regarding your request.', 'text-domain' ) ;
// ...
esc_html__( 'Please contact us through our %1$s or via %2$s', 'text-domain' )
// ...
esc_html__( 'Page de contact', 'text-domain' )
// ...
esc_html__( 'Email', 'text-domain' )



Vous trouverez plus d'informations ici : Multilinguisme pour les thèmes WordPress (eng) et Multilinguisme pour les plugins (eng)



Si vous avez des questions, n'hésitez pas à utiliser la fonction de commentaire en bas de cette page.