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

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.