Was ist <# code #> in media-template.php und wie funktioniert es?

9

Ich überprüfe /wp-includes/media-template.phpund habe gerade Folgendes gefunden:

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

Nie gesehen <# #>oder {{{ }}}vorher. Was für ein PHP ist das?
Die Suche nach diesen Symbolen in Google scheint zwecklos ...

brasofilo
quelle

Antworten:

9

Dies sind Javascript-Vorlagen, die von einer Javascript-Bibliothek in HTML kompiliert werden. Ich denke, WP verwendet underscore.js .

Angenommen, Sie schreiben ein jQuery-Plugin und müssen HTML-Code an das Dokument anhängen. Mit solchen Vorlagen können Sie vermeiden, dass der HTML-Code in große verkettete Zeichenfolgen in Ihrem Javascript-Code eingefügt wird, und ihn dort platzieren, wo sich das andere HTML-Markup befindet. Sie laden diese Vorlage also aus Ihrem Plugin, kompilieren sie (Variablen werden ersetzt) ​​und hängen den resultierenden HTML-Code an Ihr Dokument an. Im Wesentlichen trennen Sie die Geschäftslogik von der Präsentationslogik. Dadurch wird Ihr Plugin auch entkoppelt.

Onetrickpony
quelle
Oh, klar, diese Blöcke befinden sich im HTML, ein schlechter Titel für das Q dann ... Tiefes Zeug, das das Kernteam bekommen hat, um die neue Medienbibliothek zu erstellen.
Brasofilo
Habe gerade das Update gesehen, scheint, dass diese nicht im Benachrichtigungssystem auftauchen. Schöne Ergänzung :) Und danke @toscho auch für den guten Titel.
Brasofilo