Qu'est-ce que le <# code #> dans media-template.php et comment ça marche?

9

Je vérifie /wp-includes/media-template.phpet je viens de trouver ceci:

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

Jamais vu <# #>ou {{{ }}}avant. De quel type de PHP s'agit-il?
La recherche de ces symboles dans Google semble futile ...

brasofilo
la source

Réponses:

9

Ce sont des modèles javascript qui sont compilés en HTML par une bibliothèque javascript. Je pense que WP utilise underscore.js .

Disons que vous écrivez un plugin jQuery et que vous devez ajouter du code HTML au document. En utilisant de tels modèles, vous pouvez éviter de fourrer ce code HTML dans d'énormes chaînes concaténées au sein de votre code javascript et de le placer là où se trouve l'autre balisage HTML. Vous chargez donc ce modèle à partir de votre plugin, le compilez (les variables sont remplacées) et ajoutez le code HTML résultant à votre document. Essentiellement, vous séparez la logique métier de la logique de présentation. Cela rend également votre plugin plus découplé.

onetrickpony
la source
Oh, bien sûr, ces blocs sont à l'intérieur du HTML, mauvais titre pour le Q alors ... Des trucs profonds que l'équipe de base a pu créer la nouvelle bibliothèque multimédia.
brasofilo
Je viens de voir la mise à jour, il semble que ceux-ci n'apparaissent pas dans le système de notification. Belle addition :) Et merci aussi à @toscho pour le bon titre.
brasofilo