Zum Inhalt springen
Gutenberg 23.7: Galerie-Modus, Editor-Fixes und neue APIs
Julia Schneider
Julia Schneider 7. August 2026 · 8 Min. Lesezeit

Gutenberg 23.7: Galerie-Modus, Editor-Fixes und neue APIs

Gutenberg 23.7 ist verfügbar. Das Release konzentriert sich auf sichtbare Korrekturen im Block-Editor, präzisiert den dynamischen Modus des Galerie-Blocks und ergänzt zahlreiche Änderungen für Komponenten, APIs, Medien und die Entwicklungswerkzeuge.

Gutenberg 23.7 testen

Du kannst Gutenberg 23.7 direkt im Gutenberg-Plugin-Verzeichnis installieren oder die Version im WordPress Playground ausprobieren.

Sichtbare Verbesserungen im Block-Editor

Mehrere Korrekturen räumen Probleme im Editor-Layout aus dem Weg. Floated Blocks überlagern keine Sticky Blocks mehr. Der Appender für leere Blöcke erscheint innerhalb von Blöcken mit eigener Toolbar an der richtigen Stelle. Der Pullquote-Block übernimmt im Editor nun eine selbst gesetzte Zeilenhöhe und stimmt damit mit dem Frontend überein. Außerdem nutzt die Geräte-Vorschau für Mobilgeräte und Tablets wieder feste Höhen.

Verbesserungen im Gutenberg-Block-Editor
Korrekturen bei Layout, Block-Appender und Geräte-Vorschau in Gutenberg 23.7. — Forrás: WordPress.org

Dynamischer Galerie-Modus: „Detach“ statt unklarer Konvertierung

Der dynamische Modus des Galerie-Blocks kam mit Gutenberg 23.6 hinzu. Seine Toolbar-Schaltfläche „Convert to images“ beschrieb jedoch nicht eindeutig, welche Folge der Schritt hat. Gutenberg 23.7 benennt sie in „Detach“ um und zeigt vor dem Trennen der Bilder ein Modal mit einer Erklärung an. Die Umwandlung des dynamischen Galerie-Modus erzeugt zudem nur noch einen einzelnen Undo-Schritt.

Dialog zum Trennen von Bildern im dynamischen Galerie-Modus
Das Modal erklärt die Folgen, bevor du Bilder von der dynamischen Galerie trennst. — Forrás: WordPress.org
Toolbar-Schaltfläche „Detach“ im Galerie-Block
Die umbenannte Schaltfläche macht die Aktion im Galerie-Block eindeutiger. — Forrás: WordPress.org

Weitere Änderungen, die du im Alltag bemerkst

Die Vererbung von Global Styles bleibt experimentell, ist jetzt aber ausdrücklich Opt-in. Du aktivierst die Oberfläche auf der Seite für Gutenberg-Experimente. Der Block-Inspector zeigt geerbte Werte der Global Styles in seinen Steuerelementen an, und für Blöcke, die Links sind, löst er auch die Link-Element-Stile auf.

Der Math-Block nutzt für LaTeX jetzt ValidatedTextareaControl. Parserfehler unterbrechen dich nicht mehr bei jedem Tastendruck: Das Feedback erscheint erst, nachdem das Feld erstmals den Fokus verloren hat. Die Ansage für Screenreader bei jedem einzelnen Tastendruck entfällt.

Combobox, Select und SelectControl erhalten die Subkomponenten Group und GroupLabel. Damit lassen sich gruppierte Optionen innerhalb der Familien von Item-Popups einheitlich zusammensetzen. Zusätzlich bekommt der Post Editor die Einstellung responsiveEditingEnabled, mit der du die Option für Responsive Styles ausblenden kannst.

Erweiterungen in Komponenten und Block-Bibliothek

Die folgenden Verbesserungen erweitern Oberflächen, Blöcke und interne Editor-Bausteine.

  • Base Styles erlauben es, die Farbe des Focus Rings in outset-ring__focus zu überschreiben (#80587).
  • Das Widget-Dashboard misst den Header-Fit und dokumentiert den Chrome-Bereich (#80423).
  • Widget Primitives werden als Script Module ausgeliefert (#80149).
  • DataViews und die Font Library geben Suchfeldern eine feste Breite, damit das Layout nicht springt (#80315).
  • DataViewsPicker unterstützt Bereichsauswahl mit Umschalt+Klick in Tabellen-, Raster- und Aktivitätsansicht (#80413).
  • Die Sandbox-Komponente akzeptiert eine sandbox-Property (#69617).
  • Number-Inputs blenden ihre nativen Spin Controls aus (#80646).
  • SearchControl rendert das Suffix nur, wenn eines vorhanden ist (#80356).
  • Die UI erhält die Primitive Autocomplete.Row (#80490).
  • Die Block-Bibliothek deckt die End-to-End-User-Story für den Table-of-Contents-Block ab (#80199).
  • Die Font Library passt die Schriftgröße des Seiten-Navigations-Selectors an DataViews an (#80617).
  • Die Verwaltung gemeinsamer Presets wird aus Schatten und Schriftgrößen herausgelöst (#79810).

Fehlerkorrekturen im Editor und in Blöcken

Neben den sichtbaren Korrekturen behebt das Release Fehler beim Schreiben, bei der Auswahl, bei Undo und in zahlreichen Core-Blöcken.

  • Die Versionierung der View-Configuration-API wurde aktualisiert; Merges mit unpassender Struktur werden abgelehnt, die Semantik leerer Arrays ist definiert und null wird aus angehängten Mitgliedern entfernt (#80319, #80571).
  • createInterpolateElement behandelt nicht passende schließende Tags robust (#80618).
  • render_block_core_video() berücksichtigt nun auch nicht kleingeschriebene VIDEO-Tags (#80537).
  • Cover- und Accordion-Blöcke verlassen ihre Interaktion bei Enter (#77301).
  • Der List-Block behält beim Einrücken den Typ geordneter Listen bei (#75353).
  • Der Media Editor zeigt beim Laden einer zugeschnittenen Datei einen Ladezustand; das redundante Flag __heicUploadSupport entfällt (#80460, #80452).
  • Im Navigation-Block erscheint innerhalb von Template Parts wieder die Option „Add block“ in der Link-UI (#78427).
  • Der Playlist-Block kürzt die Beschriftung seiner Track-Toolbar-Schaltfläche (#80759).
  • Die Einstellung „Offset“ im Query-Loop-Block erhält einen Übersetzungskontext (#80582).
  • Der Social-Link-Block entfernt ein überflüssiges schließendes Tag aus dem Tumblr-Icon-Markup (#80257).
  • Das Hintergrundbild-Control zeigt keinen doppelten Focus Ring mehr, und Block Tools positioniert den leeren Block-Appender korrekt (#80671, #80592).
  • Beim Vorwärtslöschen leerer Blöcke bleibt die Cursorposition korrekt; Preset-Round-Trip-Tests importieren nach der Konsolidierung der Preset-Utilities wieder richtig (#77525, #80589).
  • Bei zwei Farb-Presets mit gleichem Hexwert speichert und zeigt Global Styles das richtige Preset (#80497).
  • RTC verhindert, dass die Synchronisierung gesteuerter Blöcke Undo abfängt (#80503).
  • Editierbare Rich-Text-Elemente tragen wieder kein tabIndex, wodurch Umschalt+Klick-Auswahl funktioniert; Input-Transforms laufen nicht ohne onReplace, und das Einfügen von Dateien lässt den Paste Handler nicht mehr abstürzen (#80651, #80978).
  • Ohne native Auswahl erweitern Umschalt+Pfeiltasten die Blockauswahl. Umschalt+Klick gilt als Geste zur Mehrfachauswahl, und Bewegungen des Carets scrollen bei Blöcken über Viewport-Höhe nicht mehr die Seite (#80687, #80286).

Post Editor, Zusammenarbeit und Medien

  • Felder mit eigenem Undo überlassen Undo wieder dem Browser. Meta Boxes verwenden Überschriftenstile wie Gutenberg-Panels, und Notices laufen in ThemeProvider mit einem Eckenradius von 0 (#80768, #79523).
  • Notes erfassen den Zielblock vor dem Speichern einer Block-Notiz, registrieren das Inline-Format beim Import, melden Speichererfolge einheitlich und gleichen die Sidebar-Auswahl mit dem Inline-Marker unter dem Caret ab (#80690, #80748).
  • Post Lock wechselt für ausgesperrte Betrachter nicht fälschlich zu „Someone else has taken over“. Unter iOS entfällt der Jumping-Hack, stattdessen kommt Typewriter hinzu (#79997).
  • DataForm lässt Karten- und Detail-Validierung nicht mehr den Fokus übernehmen. GradientPicker wählt über den Slug, damit identische Gradienten-Presets ihre Identität behalten (#80685).
  • Lange animierte GIFs bleiben beim Upload nicht hängen: Für Standbilder dekodiert Gutenberg nur das erste Frame. Media Templates erzwingen bei IMG-Tags kein crossorigin mehr (#80260).
  • Der Build synchronisiert die Preload-Feldliste für Page Templates mit core-data; die Media REST API übernimmt die Größenprüfung für Uploads aus URL-Pfaden (#80648).
  • RTC komprimiert beim Serialisieren und bewahrt ungespeicherte Änderungen anderer Bearbeiter, wenn ein anderer Nutzer speichert (#80707).

Accessibility und Performance

  • Die Alignment-Controls verarbeiten ihre Properties besser. In der Navigation aktualisiert sich aria-expanded bei Hover auf ein Untermenü innerhalb eines Overlays (#63696).
  • Rich Text liest in ownsSelection das Attribut contentEditable und vermeidet dadurch erzwungene Layout-Berechnungen. Außerdem behebt das Release eine Regression bei der Tippgeschwindigkeit (#80549).
  • FlatTermSelector lädt Begriffe nicht unnötig erneut. Core Data verschiebt EntitiesSavedState aus dem Editor (#80623).

Experimente, Dokumentation und Code-Qualität

Die experimentellen Dashboard Widgets härten die Bereinigung von Action- und Help-Link-URLs. In theme.json nivelliert :where() die Spezifität von Preset-Klassen auf Blockebene.

  • Die Dokumentation ergänzt Hinweise für nvm use, die schrittweise Ermittlung von Agent-Anweisungen und Skills, fehlende globale Dokumentation im Table of Contents sowie File- und Class-Docblocks für WP_Icon_Collections_Registry (#80755, #80442).
  • Weitere Docs erklären getBlock mit Inner-Block-Controllern, Backports in den WordPress-Core, Rückgabewerte von View-Configuration-Filtern, die iframe-Hinweise für Gutenberg 23.6, Admin-Farbschema-Beispiele in Storybook sowie Dialog-vs-Drawer-Design (#80773, #80642, #80569, #80744).
  • ESLint ergänzt fehlende nicht empfohlene Komponenten zur Denylist. webpack-dev-server aktualisiert auf ^5.2.1, und Changelog-Prüfungen funktionieren für Pull Requests aus Forks (#80754, #80538).
  • Die Interactivity API strukturiert Directives als selbstregistrierende Module um. RTC nutzt array_any() für die Prüfung neuerer Komprimierungen und str_contains() in WP_Sync_Config (#79975, #80476).
  • Autocomplete verknüpft die Vorschlagsliste über aria-controls und aria-haspopup; ExternalLink nutzt den gemeinsamen Focus-Ring-Mixin, und useSelectionProps wird layoutunabhängig (#80403, #80677).
  • Disabled, FormTokenField und SearchControl migrieren zu SCSS-Modulen. Die Pakete aktualisieren date-fns auf 4.4.0, Color.js auf 0.7.1 und entfernen eine Behelfslösung für colorjs.io (#80643, #80474, #80762).
  • Die Block-Bibliothek schützt vor Attributwerten, die Fehler auslösen, macht editableRoot zu einer privaten Block-Einstellung, übernimmt Korrekturen aus WordPress-Develop 7.0 und verwendet beim Page-List-Block den Null-Koaleszenzoperator für parentPageID (#80558, #75985).
  • Weitere Bereinigungen entfernen ein redundantes Jest-jsdom-Pragma, unnötige Größen-Properties in Form Controls und den Standardabsatz aus dem Tab-Panel-Template. Table of Contents nutzt str_contains() statt strpos() (#80676, #80418).
  • Duotone-Utilities werden in der Global-Styles-Engine zusammengeführt, doppelte Preset-Utilities reduziert und URLInput in eine Function Component überführt (#80598, #80721).
  • Der Post Editor prüft bei SVG-Icons auf viewBox; Notes brechen ein laufendes Hover-Highlight ab, wenn der Fokus einen Notiz-Thread verlässt. memize aktualisiert auf 2.1.1 (#80273, #80764).
  • Global Styles benennt Unit-Test-Dateien um und entfernt die Endung .spec.js. Der Site Editor ersetzt die Theme-Nutzung im Canvas Loader durch CSS, und der Code für Echtzeit-Zusammenarbeit zieht nach lib/experimental/collaboration um (#80711, #80469).

Build, Werkzeuge und Tests

  • Die Release-Dokumentation zeigt GitHubs neue Release-Label-Oberfläche. Cherry-Picking setzt künftig eine funktionierende GitHub CLI voraus (#80567).
  • Das Build-System erhält ein unabhängiges React-18-Vendor-Paket, verarbeitet Projektpfade mit Leerzeichen im Dev Script und bezieht extrahierte Styles in den Asset-Version-Hash ein (#80367, #80601).
  • Ein End-to-End-Kompatibilitätstest deckt unter React 19 das boolesche Attribut inert ab. Der Build löst Prettier bei isoliertem Layout explizit auf, Storybook entfernt Emotion als JSX-Importquelle, und WP Build vermeidet eine Endlosschleife bei Worker-Builds (#80397, #80647).
  • Die Vorabprüfung des npm-Zugriffs wird besser. Jest korrigiert das Ignore-Pattern für TypeScript-Declaration-Dateien und aktualisiert auf die nicht abwärtskompatible Version 30 (#80334, #80767).
  • Flakiness.io läuft nur im kanonischen Gutenberg-Repository. Performance-Tests melden für „Selecting blocks“ nicht mehr 0 ms, RTC korrigiert einen Test für gelöschte Benutzer in Multisite, und der Site Editor erhält End-to-End-Tests für erweiterbare View Configuration (#80524, #80577).
  • Base Styles entfernen den Parameter für die Akzentfarbe aus input-control; außerdem entfällt die private Theme-Komponente (#80595).

Was du jetzt prüfen solltest

Installiere Gutenberg 23.7 in einer Staging-Umgebung und prüfe besonders Galerie-Blöcke im dynamischen Modus, eigene Pullquote-Zeilenhöhen sowie deine Vorschau für Tablet und Mobilgeräte. Wenn du Themes oder Plugins mit Global Styles entwickelst, aktiviere die Vererbungsoberfläche nur gezielt über die Gutenberg-Experimente und teste die Darstellung geerbter Presets im Block-Inspector.

Julia Schneider

Julia Schneider

Leiterin der deutschen Redaktion, Softwarearchitektin und technische Mentorin. Java- und Spring-Framework-Expertin. Präzision und Qualität über alles.

Alle Beiträge

Tritt der HelloWP-Community bei!

Chatte mit uns über WordPress, Webentwicklung und teile Erfahrungen mit anderen Entwickler*innen.

- Mitglieder
- online
Beitreten

Wir verwenden Cookies, um Ihre Erfahrung zu verbessern. Wenn Sie fortfahren, stimmen Sie unserer Cookie-Richtlinie zu.