Esc_html_e wordpress

10/09/2022

Esc_html_e wordpress
Índice
  1. Traducción del tema de WordPress
    1. WordPress _e
    2. Escape de WordPress
    3. WordPress i18n

Traducción del tema de WordPress

WordPress 4.7.2 ya está disponible. Se trata de una versión de seguridad para todas las versiones anteriores y le recomendamos encarecidamente que actualice sus sitios inmediatamente. Las versiones de WordPress 4.7.1 y anteriores son affec......

<p>Como he mencionado en nuestro artículo sobre la pila tecnológica, utilizamos WordPress para gestionar nuestro contenido. Nuestro front-end es manejado y servido usando Node y MongoDB stack y necesitaba conectar estos dos sistemas (WordPress y Node stack personalizado) sin hacer... (más...)

Este artículo describe un flujo de trabajo que los desarrolladores de WordPress podrían incorporar para actualizar rápidamente su entorno de desarrollo local con la versión de producción de los sitios web de WordPress para que estén sincronizados. (más...)

WordPress _e

<th><div title="<?php esc_html_e( 'The total number of visitors for this variation', 'optimizely' ) ?>"><?php esc_html_e( 'VISITORS', 'optimizely' ) ?><i class="fa fa-question-circle fa-fw"></i></div></th>

<th><div title="<?php esc_html_e( 'The total number of visitors that converted on the goal', 'optimizely' ) ?>"><?php esc_html_e( 'CONVERSIONS', 'optimizely' ) ?><i class="fa fa-question-circle fa-fw"></i></div></th>

<th><div title="<?php esc_html_e( 'The percentage of unique visitors who saw this variation and triggered this goal', 'optimizely' ) ?>"><?php esc_html_e( 'RATE', 'optimizely' ) ?><i class="fa fa-question-circle fa-fw"></i></div></th>

<th><div title="<?php esc_html_e( 'The relative improvement in Conversion Rate for this variation over the baseline', 'optimizely' ) ?>"><?php esc_html_e( 'IMPROVEMENT', 'optimizely' ) ?><i class="fa fa-question-circle fa-fw"></i></div></th>

<th><div title="<?php esc_html_e( 'The confidence percentage that the Optimizely stats engine believes the variation is a winner or loser', 'optimizely' ) ?>"><?php esc_html_e( 'CONFIDENCE', 'optimizely' ) ?><i class="fa fa-question-circle fa-fw"></i></div></th>

Escape de WordPress

Primero, quiero hablar del uso de estas funciones. Como puede ver, ambas funciones tienen los mismos parámetros, y ambas muestran el texto traducido, pero la función esc_html_e() escapa el texto traducido. Esta es la principal diferencia. ¿Por qué debemos utilizar la versión escapada? Principalmente porque las traducciones son realizadas por terceros, tanto profesionales como voluntarios, que pueden introducir diferentes problemas de maquetación (una nueva etiqueta HTML, una etiqueta no cerrada) o de seguridad (la ejecución de un script). No podemos confiar en el trabajo de terceros, ya que pueden introducir problemas accidental o intencionadamente a través de las traducciones: trata las cadenas internacionalizadas como lo harías con cualquier otra entrada no fiable. Más sobre esto en la guía de seguridad de la internacionalización en el Manual del Plugin.

Creo que la causa principal se debe a razones históricas, porque la función e() fue lanzada el 22 de mayo de 2004 y la función esc_html_e() fue lanzada el 11 de junio de 2009, por lo que todo el código escrito entre estas 2 fechas utiliza la función no segura. Una posible solución podría ser establecer una fecha de depreciación, por lo que después de una fecha determinada, esta función no funcionaría. Pero esto seguramente traería un montón de temas y plugins rotos. Incluso, el núcleo de WordPress utiliza 246 veces la función _e(), mientras que la función esc_html_e() sólo se utiliza 31 veces.

WordPress i18n

__() es principalmente para texto simple que no contiene marcas que deban ser escapadas. Se diferencia de _e() en que la primera devuelve el texto traducido mientras que la segunda se hace eco del texto traducido.

esc_html_e() y esc_html__() son similares, pero se utilizan para cadenas que sí contienen marcas. Cada una de ellas escapa de la cadena proporcionada, y luego llama a sus correspondientes contrapartes _e() o __() dependiendo de la que se utilice.

Tal y como se indica en la documentación, esc_html_e() recupera una cadena traducida, la escapa y se hace eco del resultado. __() devuelve una cadena traducida. El código fuente de cada una de estas funciones lo deja muy claro:

Subir
Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad