Había mirado el código pero no pude ver ningún escape en funciones como the_title the_content the_excerptetc. Puede que no lo esté leyendo bien. ¿Necesito escapar de estas funciones en el desarrollo de temas como:
esc_html ( the_title () )
Editar: como se señaló en las respuestas a continuación, el código anterior es incorrecto, independientemente de que el código debería haber leído
esc_html ( get_the_title () )

the_contentque genera HTML desde el editor TinyMCE, en el que ingresa. Esto está más reservado para entradas de formulario o datos creados en el front-end, por ejemplo, por sus usuarios.Respuestas:
Escapar depende completamente del contexto en el que está utilizando las funciones. Lo que es seguro para mostrar dentro de las
<h1>etiquetas, no es necesariamente seguro para mostrar elvalueatributo de un campo de entrada, e incluso eso no necesariamente sería seguro como unhrefvalor de atributo ...En resumen: realice la desinfección usted mismo mientras la emite. Aunque en el caso de
the_title ()oget_the_title (),esc_htmlno es necesario, ya que WordPress aplica las siguientes funciones:convert_charswptexturizeNota:
the_titleimprime el título, poresc_html ( the_title () )lo que no funcionará. Del mismo modo,the_contentimprime el contenido (en cualquier caso, esperaría que el contenido muestre HTML).fuente
the_title_attribute()Sí y no: depende de si desea que se genere html en esas funciones o no. Si escapa
the_content(), por ejemplo, y contiene una<div>etiqueta, esa etiqueta en realidad se enviará a la página<div>.Por cierto, si escapas de la salida de esas funciones, querrás usar sus equivalentes "get_" (ej.
get_the_content()) Ya que esas funciones hacen eco de su salida directamente.fuente
Simplemente puede escribir una función como esta y conectarla al filtro de título :
fuente