Что такое <# code #> в media-template.php и как оно работает?

9

Я проверяю /wp-includes/media-template.phpи только что нашел это:

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

Никогда не видел <# #>или {{{ }}}раньше. Что это за PHP?
Поиск этих символов в Google кажется бесполезным ...

brasofilo
источник

Ответы:

9

Это шаблоны javascript, которые компилируются в HTML библиотекой javascript. Я думаю, что WP использует underscore.js .

Допустим, вы пишете плагин jQuery и вам нужно добавить HTML-код в документ. Используя такие шаблоны, вы можете избежать вставки этого HTML-кода в огромные конкатенированные строки в вашем JavaScript-коде и поместить его там, где находится другая HTML-разметка. Таким образом, вы загружаете этот шаблон из своего плагина, компилируете его (переменные заменяются) и добавляете полученный HTML-код в ваш документ. По сути, вы отделяете бизнес-логику от логики представления. Это также делает ваш плагин более изолированным.

onetrickpony
источник
О, конечно, эти блоки находятся внутри Html, плохой заголовок для Q тогда ... Глубокий материал, который основная команда получила, чтобы создать новую Медиатеку.
brasofilo
Только что увидел обновление, кажется, что те не появляются в системе уведомлений. Хорошее дополнение :) И спасибо @toscho тоже за хорошее название.
brasofilo