¿Qué es <# code #> en media-template.php y cómo funciona?


9

Estoy comprobando /wp-includes/media-template.phpy acabo de encontrar esto:

<# if ( data.compat && data.compat.meta ) { #>
    {{{ data.compat.meta }}}
<# } #>

Nunca visto <# #>o {{{ }}}antes. ¿Qué tipo de PHP es este?
Buscar estos símbolos en Google parece inútil ...

Respuestas:


9

Esas son plantillas de JavaScript que se compilan en HTML mediante una biblioteca de JavaScript. Creo que WP usa underscore.js .

Supongamos que escribe un complemento jQuery y debe agregar código HTML al documento. Usando tales plantillas, puede evitar rellenar ese código HTML dentro de grandes cadenas concatenadas dentro de su código javascript y colocarlo donde está el otro marcado HTML. Entonces carga esa plantilla desde su plugin, la compila (las variables se reemplazan) y agrega el HTML resultante a su documento. Esencialmente, separa la lógica de negocios de la lógica de presentación. Esto también hace que su complemento esté más desacoplado.


Oh, claro, esos bloques están dentro del HTML, mal título para la Q entonces ... Cosas profundas que el equipo central hizo para crear la nueva Biblioteca de Medios.
brasofilo

Acabo de ver la actualización, parece que no aparece en el sistema de notificación. Buena adición :) Y gracias @toscho también por el buen título.
brasofilo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.