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

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.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.