Apa itu <# code #> di media-template.php, dan bagaimana cara kerjanya?

9

Saya sedang memeriksa /wp-includes/media-template.phpdan baru saja menemukan ini:

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

Belum pernah melihat <# #>atau {{{ }}}sebelumnya. PHP macam apa ini?
Mencari simbol-simbol ini di Google tampaknya sia-sia ...

brasofilo
sumber

Jawaban:

9

Itu adalah template javascript yang bisa dikompilasi ke dalam HTML oleh perpustakaan javascript. Saya pikir WP menggunakan underscore.js .

Katakanlah Anda menulis plugin jQuery, dan Anda harus menambahkan kode HTML ke dokumen. Dengan menggunakan template seperti itu, Anda dapat menghindari memasukkan kode HTML itu ke dalam string bersambung besar di dalam kode javascript Anda, dan meletakkannya di tempat markup HTML lainnya. Jadi Anda memuat templat itu dari plugin Anda, kompilasi (variabel diganti) dan tambahkan hasil HTML ke dokumen Anda. Pada dasarnya Anda memisahkan logika bisnis dari logika presentasi. Ini juga membuat plugin Anda lebih dipisahkan.

onetrickpony
sumber
Oh, tentu saja, blok-blok itu ada di dalam Html, judul yang buruk untuk Q lalu ... Hal-hal yang dalam yang dimiliki tim inti untuk membuat Perpustakaan Media baru.
brasofilo
Baru saja melihat pembaruan, sepertinya itu tidak muncul di sistem notifikasi. Tambahan yang bagus :) Dan thx @toscho juga untuk judul yang bagus.
brasofilo