O que é <# code #> no media-template.php e como ele funciona?

9

Estou verificando /wp-includes/media-template.phpe encontrei o seguinte:

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

Nunca visto <# #>ou {{{ }}}antes. Que tipo de PHP é esse?
A busca por esses símbolos no Google parece inútil ...

brasofilo
fonte

Respostas:

9

Esses são modelos javascript que são compilados em HTML por uma biblioteca javascript. Eu acho que o WP usa underscore.js .

Digamos que você escreva um plugin jQuery e precise anexar código HTML ao documento. Usando esses modelos, você pode evitar colocar esse código HTML em grandes seqüências concatenadas dentro do seu código javascript e colocá-lo onde está a outra marcação HTML. Então você carrega esse modelo do seu plug-in, compila-o (as variáveis ​​são substituídas) e anexa o HTML resultante ao seu documento. Essencialmente, você separa a lógica de negócios da lógica de apresentação. Isso também torna seu plug-in mais dissociado.

onetrickpony
fonte
Ah, claro, esses blocos estão dentro do HTML, título ruim para o Q então ... Coisas profundas que a equipe principal conseguiu criar na nova Biblioteca de Mídia.
brasofilo
Só vi a atualização, parece que isso não aparece no sistema de notificação. Boa adição :) E thx @toscho também pelo bom título.
Brasofilo