¿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 ...

brasofilo
fuente

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.

Pony de un solo truco
fuente
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