esc_html()
escapa uma string para que não seja analisada como HTML. Caracteres como <
são convertidos em <
, por exemplo. Isso parecerá o mesmo para o leitor, mas significa que, se o valor que está sendo produzido for <script>
, ele não será interpretado pelo navegador como uma tag de script real.
Use esta função sempre que o valor que está sendo produzido não deva conter HTML.
esc_attr()
escapa uma string para que seja seguro usá-lo em um atributo HTML, como class=""
por exemplo. Isso evita que um valor se quebre do atributo HTML. Por exemplo, se o valor for "><script>alert();</script>
e você tentar produzi-lo em um atributo HTML, ele fechará a tag HTML atual e abrirá uma tag de script. Isso não é seguro. Ao escapar do valor, não será possível fechar o atributo HTML, marcar e gerar HTML inseguro.
Use esta função ao gerar um valor dentro de um atributo HTML.
esc_url()
escapa uma string para garantir que seja um URL válido.
Use esta função ao gerar um valor dentro de um atributo href=""
ou src=""
.
esc_textarea()
escapa um valor para que seja seguro usá-lo em um <textarea>
elemento. Ao escapar de um valor com essa função, ele impede que um valor que está sendo produzido dentro <textarea<
de a feche o <textarea>
elemento e produza seu próprio HTML.
Use esta função ao gerar um valor dentro de um <textarea>
elemento.
esc_html()
e esc_attr()
também tem versões terminadas em __()
, _e()
e _x()
. Estes são para saída de strings traduzíveis.
WordPress tem funções, __()
, _e()
e _x()
, para a saída de texto que pode ser traduzido. __()
retorna uma sequência traduzível, _e()
ecoa uma sequência traduzível e _x()
retorna uma sequência traduzível com um determinado contexto. Você provavelmente já os viu antes.
Como você não pode necessariamente confiar que um arquivo de conversão contenha valores seguros, o uso dessas funções ao gerar uma sequência traduzível garante que as sequências que estão sendo produzidas não possam causar o mesmo problema descrito acima.
Use essas funções ao emitir strings traduzíveis.