Pregunta sobre Developing with WordPress de Wordpress:

Los símbolos se escapan en un bloque HTML

Un usuario preguntó 👇

Agregué un código Javascript a una publicación usando un bloque HTML. Por alguna razón, algunos de los amperios se están escapando. Codigo original:

if(mx < $(this).width() && my < $(this).height() && mx > 0 && my > 0)

Código seguro:

if(mx < $(this).width() &#038;&#038; my < $(this).height() &#038;&#038; mx > 0 && my > 0)

Como puede ver, el primer y segundo juego de amperios dobles escapan, pero el tercero falla, lo cual es muy extraño. Si hace una fuente para ver la página de muestra, puede encontrar esta línea de código en la línea 180. Incluso intenté copiar y pegar el tercer par de amperios sobre el primero y el segundo, por temor a codificar en algún tipo de escondite allí. no podía ver. Anteriormente, en la línea 154, hay otro doble ampersand que no se escapa correctamente.

Me preocupa que se escape cualquier cosa en un bloque HTML. ¿No se supone que todo en un bloque HTML debe mantenerse «como está»?

Este tema fue modificado hace 1 año, 8 meses por.

(@bcworkz)

Hace 1 año, 8 meses

El contenido de la publicación se envía a través de esc_html() porque esto no es posible, se puede ejecutar un script malicioso. Es un mecanismo de seguridad. De todos modos, debido a estas pocas otras cosas que hace WP con el contenido, no es imposible poner un script directamente en el contenido de la publicación. Estará corrupto.

Si desea enviar un script y mantenerlo ininterrumpido, debe usar un acceso directo o un bloqueo personalizado.

Lanzador de hilos

(@crouchingbruin)

Hace 1 año, 8 meses

Bien, gracias, moveré el script a un plugin que hace inyecciones JS en el encabezado. Es un poco extraño, sin embargo, que la fuga sea muy irresponsable. Ninguno de los otros amperios escapó, ni tampoco ninguna de las señales más pequeñas o más grandes, que, según el código de validación de datos, bajo esc_html (), también se supone que deben escapar.

Lanzador de hilos

(@crouchingbruin)

Hace 1 año, 8 meses

De acuerdo, encontré una respuesta en el Codex de WordPress que funciona. Todo lo que tenía que hacer era agregar las etiquetas de comentarios HTML justo después del inicio <script> etiqueta y antes del final </script> etiqueta de script, y los símbolos de unión no escaparon:


<script type="text/javascript">
<!--
myfunction();
//--></script>

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada.