Nach dem Versuch, dieNachdem der Post-Editor eingerahmt wurde, wird derDas Vorhandensein des Metaframes wird zu einer blockierenden Bedingung, die das Laden von Editorinhalten im Iframe verhindert und diese Vorteile von Iframes nicht verfügbar macht:
- Isolieren Sie Block- und Themen-CSS von der Editor-Benutzeroberfläche
- Genauigkeit von Medienabfragen und ansichtsbezogenen CSS-Einheiten
Diese Vorteile sind wichtig, um die Wiederverwendung von CSS im Editor und im Frontend zu unterstützen und um die Entwicklung von Blöcken und Themen zu vereinfachen. Obwohl Metaframes bereits existieren, haben Mitglieder der Community daran gearbeitet, sie in den Post-Editor zu integrieren, aber nach demVersuch(mit vorangestellter Bedingung oder Begründung) nicht bisdefinieren. So passen Sie die Oberfläche an, um das Metafeld vom Inhalt des Beitrags zu trennen.
vorhanden.Geteilte Ansicht implementiertDiese Änderung unterstützt die gleichzeitige Sichtbarkeit von Editorinhalten und Metafeldern. Diese Änderung gewährleistet ein konsistentes WYSIWYG-Erlebnis zwischen dem Editor und der Frontend-Ansicht. Außerdem wird die Verwendung von Metaframes einfacher als zuvor und ermöglicht die intuitive Referenzierung eines beliebigen Teils des Beitragsinhalts bei Verwendung eines beliebigen Metaframes und umgekehrt.
Verbleibende Ausnahmen für iframes
Derzeit ist die letzte Bedingung, die verhindert, dass ein iframe immer verwendet wird, die Frage, ob ein Block seineapiVersion
Weniger als registriert3
. Aber auch diese Bedingung kann in einer zukünftigen Version entfernt werden, und wenn die Website dieGutenberg Plugin und das blockbasierte Thema aktiv ist, hat es bereits eine Ausnahme.
Randbedingungen und Kompatibilität
Plugin-Entwickler, die Metaframes hinzufügen, sollten sich zweier Dinge bewusst sein. Erstens beschneiden Metaframe-Container jetzt Überlaufelemente. Wenn also ein Popup-UI (z.B. ein Dropdown-Menü) über den Metaframe-Container hinausragt, wird es abgeschnitten. Wenn sie jedoch in einem Teil des DOM außerhalb des Containers gerendert werden, stellt dies kein Problem dar. Zweitens: Wenn Ihr Plugin auch eine Rich-Text-Formatierung hinzufügt und die Bearbeitungsoberfläche an der Textauswahl verankert ist, muss die Implementierung mit Iframes kompatibel sein. Dies ist keine neue Anforderung, kann aber bei Plugins, die nur den Post-Editor erweitern, übersehen werden.
Überlaufende Beschneidung
Um sicherzustellen, dass dies kein Problem ist, können Sie entweder dafür sorgen, dass sich jede Benutzeroberfläche, die einem Popup-Fenster ähnelt, unten im Metaframe öffnet, oder indem Sie das Popup-Fenster in einem Teil des DOM rendern, der sich nicht innerhalb des Metaframe-Containers befindet. Letzteres ist zum Beispiel die Standardmethode für die Komponenten undPopover
(math.) GattungAuswahlliste
ausnutzenDropDownMenu
sie (für unbelebte Objekte)@wordpress/komponenten
sorgt dafür, dass die Benutzeroberfläche nicht abgeschnitten wird, auch wenn sie über den oberen Rand des Metaframe-Containers hinausragt.
Rich Text Format UI Verankerung
Wenn das Plugin benutzerdefinierten Code implementiert, um die Benutzeroberfläche zu verankern oder zu positionieren, dann kann dies nur beunruhigend sein. Wenn das Plugin bereits dieuseAnchor
von (einem Ort) kommen@wordpress/rich-text
alles, dann sollte es gut funktionieren. Falls nicht, können Sie sich an Gutenbergs eigeneLink Editor UIKomponente für ein typisches Beispiel ihrer Verwendung.