Eu tinha olhado para o código, mas não consegui ver nenhum escape de funções como the_title
the_content
the_excerpt
etc. Talvez eu não esteja lendo direito. Preciso escapar dessas funções no desenvolvimento de temas como:
esc_html ( the_title () )
Editar: conforme indicado nas respostas abaixo, o código acima está errado, independentemente - o código deve ter lido
esc_html ( get_the_title () )
the_content
que gera HTML do editor TinyMCE, no qual você insere. Isso é mais reservado para entradas de formulário ou dados criados no front end, por exemplo, por seus usuários.Respostas:
Escapar depende inteiramente do contexto em que você está usando as funções. O que é seguro para exibir
<h1>
tags internas , não é necessariamente seguro para exibir ovalue
atributo de um campo de entrada, e mesmo isso não seria necessariamente seguro como umhref
valor de atributo ....Em resumo - faça você mesmo a higienização enquanto a produz. Embora no caso de
the_title ()
ouget_the_title ()
,esc_html
não seja necessário, pois o WordPress aplica as seguintes funções:convert_chars
wptexturize
Nota:
the_title
imprime o título - portantoesc_html ( the_title () )
, não funciona. Da mesma forma,the_content
imprime o conteúdo (em qualquer caso, você esperaria que o conteúdo exibisse HTML).fonte
the_title_attribute()
Sim e não - depende se você deseja que o html nessas funções seja gerado ou não. Se você escapar
the_content()
, por exemplo, e ele contiver uma<div>
tag, essa tag será realmente enviada para a página<div>
.A propósito, se você escapar da saída dessas funções, deverá usar os equivalentes "get_" (ex.
get_the_content()
), Pois essas funções ecoam diretamente a saída.fonte
Você pode simplesmente escrever uma função como esta e conectá-la ao filtro_título :
fonte