pourquoi les développeurs utilisent
<?php esc_html_e() >?
en 404 pages, qu'est-ce que cela signifie, comment ça marche?
Il s'agit d'une combinaison de _e()
, qui renvoie une chaîne pouvant être traduite, et de esc_html()
, qui permet de générer du texte de sorte que le texte ne soit pas interprété au format HTML.
Vous l'utiliseriez pour éviter que du HTML ne soit introduit clandestinement dans une traduction et ne rompt pas votre balisage ou ne pose des problèmes de sécurité.
Par exemple, si votre thème avait:
_e( 'My translatable string', 'my-text-domain' );
Il est alors possible qu'une traduction pour 'My translatable string'
soit quelque chose comme '<script>alert('Bad!');</script>'
. Si vous n'utilisez pas esc_html_e()
, ce script sera exécuté. Si vous utilisez esc_html_e()
, ce ne sera pas le cas, car les caractères <
& >
seront échappés en tant que <
& >
, qui sortiront en tant que <et> et ne seront pas interprétés en tant que balises HTML.