web-dev-qa-db-fra.com

Dois-je toujours préférer esc_attr_e & esc_html_e au lieu de _e?

Je travaille pour internationaliser mon plugin. Comme je peux le voir sur le site Wordpress à propos de esacaping , il est dit que vous devriez toujours l'utiliser. Mais comme je peux le voir dans de nombreux plugins populaires, ils ont utilisé _e à la place de quelques cas spécifiques. Donc, devrais-je toujours utiliser un caractère d'échappement ou non pour toutes les chaînes, sinon dans quels cas spécifiques devrions-nous l'utiliser?

1
learning_13

Toujours échapper à la sortie sauf si vous avez une bonne raison de ne pas le faire.

La principale chose que vous perdez lorsque vous échappez des chaînes traduites est la possibilité d'utiliser des balises HTML et des entités html dans la chaîne d'origine et les traductions, mais vous ne devriez probablement pas vous retrouver dans une situation dans laquelle les traducteurs sont tenus de connaître le langage HTML uniquement pour en traduire plusieurs. mots en premier lieu.

Si, pour une raison quelconque, vous devez inclure une entité html dans la chaîne, vous pouvez utiliser printf/sprintf pour donner au traducteur une certaine flexibilité quant à l'emplacement d'une telle entité dans la chaîne, avec quelque chose comme:

printf('%s&%s',esc_html__('first part','td'),esc_html__('second part','td'))

& n'est qu'un exemple pour une entité HTML.

Évidemment, il pourrait y avoir des scénarios plus complexes qui pourraient être impossibles à échapper de façon saine, mais votre guide devrait toujours être de s'échapper par défaut.

2
Mark Kaplun