esc_html()
escapa a una cadena para que no se analice como HTML. Caracteres como <
se convierten <
, por ejemplo. Esto se verá igual para el lector, pero significa que si el valor que se genera es <script>
el navegador no lo interpretará como una etiqueta de script real.
Utilice esta función siempre que el valor que se envíe no contenga HTML.
esc_attr()
escapa a una cadena para que sea segura de usar en un atributo HTML, como class=""
por ejemplo. Esto evita que un valor salga del atributo HTML. Por ejemplo, si el valor es "><script>alert();</script>
y trató de generarlo en un atributo HTML, cerraría la etiqueta HTML actual y abriría una etiqueta de script. Esto no es seguro. Al escapar del valor, no podrá cerrar el atributo HTML y etiquetar y generar HTML inseguro.
Utilice esta función al generar un valor dentro de un atributo HTML.
esc_url()
escapa una cadena para asegurarse de que sea una URL válida.
Utilice esta función al generar un valor dentro de un atributo href=""
o src=""
.
esc_textarea()
escapa a un valor para que sea seguro usarlo en un <textarea>
elemento. Al escapar de un valor con esta función, evita que un valor generado dentro <textarea<
de a cierre el <textarea>
elemento y genere su propio HTML.
Use esta función al generar un valor dentro de un <textarea>
elemento.
esc_html()
y esc_attr()
también tienen versiones que terminan en __()
, _e()
y _x()
. Estos son para la producción de cadenas traducibles.
WordPress tiene funciones __()
, _e()
y _x()
, para la salida de texto que puede ser traducido. __()
devuelve una cadena traducible, _e()
repite una cadena traducible y _x()
devuelve una cadena traducible con un contexto dado. Probablemente los hayas visto antes.
Dado que no puede confiar necesariamente en que un archivo de traducción contenga valores seguros, el uso de estas funciones al generar una cadena traducible garantiza que las cadenas que se emiten no puedan causar el mismo problema descrito anteriormente.
Use estas funciones cuando envíe cadenas traducibles.