Gutenberg 23.7: Det nye i WordPress’ blokeditor
Gutenberg 23.7 er udgivet med en række små, men mærkbare forbedringer i blokeditoren. Versionen retter blandt andet layoutproblemer, gør dynamiske gallerier tydeligere at arbejde med og flytter Global Styles-nedarvning bag en frivillig eksperimentindstilling.
Du kan hente Gutenberg 23.7 eller afprøve versionen i WordPress Playground. Nedenfor får du både de synlige ændringer og den fulde tekniske ændringslog, der er relevant, hvis du bygger temaer, blokke eller editorintegrationer.
Synlige forbedringer i blokeditoren
Arbejdet i 23.7 har især handlet om at gøre editoren mere stabil visuelt. Flydende blokke overlapper ikke længere sticky blokke, og blokindsætteren i tomme blokke placeres nu korrekt i blokke, der håndterer deres egen værktøjslinje.
Pullquote-blokken respekterer nu en brugerdefineret linjehøjde i editoren, så redigeringsvisningen matcher front end. Samtidig er de faste højder i enhedseksemplerne til mobil og tablet tilbage.

Dynamisk galleri får en tydeligere frakobling
Det dynamiske Galleri-tilstand, som kom i Gutenberg 23.6, havde tidligere en værktøjslinjeknap med teksten “Convert to images”. Den beskrev ikke præcist konsekvensen af handlingen.
Knappen hedder nu “Detach”, og Gutenberg viser en modal, der forklarer, hvad der sker, når du frakobler billederne. Selve konverteringen er desuden samlet i ét undo-trin.


Andre vigtige ændringer
- Global Styles-nedarvning: Den eksperimentelle brugerflade er nu frivillig og aktiveres på siden Gutenberg Experiments i indstillingerne. (#80815)
- Math-blokken: LaTeX-fejl afbryder ikke længere ved hvert tastetryk. Inputtet bruger
ValidatedTextareaControl, så feedback først vises, når feltet har mistet fokus første gang, og skærmlæsere får ikke længere en meddelelse for hvert tastetryk. (#80500) - Grupperede valgmuligheder:
Combobox,SelectogSelectControlfår underkomponenterneGroupogGroupLabel, så grupperede valg fungerer ensartet i disse komponentfamilier. (#80574)
Forbedringer
- Basestile kan nu overskrive fokusringens farve i
outset-ring__focus. (#80587) - Widget Dashboard måler nu headerens tilpasning og dokumenterer chrome-delen af brugerfladen. (#80423)
- Widget Primitives udgives som scriptmodule. (#80149)
Komponenter
Combobox,SelectogSelectControlfårGroupogGroupLabel. (#80574)- DataViews og Font Library får søgefelter med fast bredde for at undgå layoutskift. (#80315)
- DataViewsPicker understøtter nu intervalmarkering med Shift+klik i picker-table-, picker-grid- og picker-activity-layouts. (#80413)
- Sandbox-komponenten kan nu modtage
sandboxsom prop. (#69617) Inputskjuler browserens indbyggede spin controls fortype="number". (#80646)SearchControlrenderer kun suffix, når der findes et. (#80356)- Brugerfladen får primitiven
Autocomplete.Row. (#80490)
Blokbibliotek
- Table of Contents får end-to-end-dækning af brugerhistorier. (#80199)
- Math-blokken bruger
ValidatedTextareaControltil LaTeX-input. (#80500)
Indlægseditor, skrifter, samarbejde og Global Styles
- Indlægseditoren får indstillingen
responsiveEditingEnabled, der kan skjule indstillingen Responsive styles. (#80814) - Font Library retter skriftstørrelsen på navigationens sidevalg, så den matcher DataViews. (#80617)
- RTC deaktiverer Quick Edit, mens et indlæg redigeres. (#80016)
- Global Styles udtrækker fælles håndtering af presets fra skygger og skriftstørrelser. (#79810)
- Blokinspektøren afspejler nu nedarvede Global Styles-værdier i sine kontroller. (#77894)
Fejlrettelser
- Blokeditoren retter overlap mellem flydende og sticky blokke. (#80749)
- Versioneringen af view configuration API’et er opdateret. (#80319)
- View configuration afviser merges med forkert struktur, definerer semantik for tomme arrays og fjerner
nullfra tilføjede medlemmer. (#80571) createInterpolateElementhåndterer nu uparrede lukkende tags robust. (#80618)
Blokbibliotek
render_block_core_video()håndterer nuVIDEO-tags, der ikke er skrevet med små bogstaver. (#80537)- Cover- og Accordion-blokkene forlades med Enter. (#77301)
- Dynamic Gallery omdøber værktøjslinjeknappen til Detach og tilføjer en forklarende modal. (#80727)
- Pullquote retter brugerdefineret linjehøjde i editoren. (#80586)
- Galleri-blokkens konvertering af dynamisk tilstand bliver ét undo-trin. (#80665)
- List-blokken bevarer ordnet listetype ved indrykning. (#75353)
- Medieeditoren viser en loading state, mens den beskårne fil indlæses. (#80460)
- Media fjerner det overflødige flag
__heicUploadSupport. (#80452) - Navigation retter en manglende “Add block”-mulighed i Link UI inden i template parts. (#78427)
- Playlist forkorter teksten på værktøjslinjeknappen for spor. (#80759)
- Query Loop tilføjer oversættelseskontekst til indstillingen “Offset”. (#80582)
- Social Link retter et løst lukkende tag i Tumblr-ikonets markup. (#80257)
Blokeditor
- Baggrundsbilledkontrollen fjerner en dobbelt fokusring. (#80671)
- Block Tools retter placeringen af den tomme blokindsætter i blokke med egne værktøjslinjer. (#80592)
- Markørplaceringen ved fremadrettet sletning af tomme blokke er rettet. (#77525)
- Import i round-trip-testen for presets er rettet efter samling af preset-hjælpefunktioner. (#80589)
- Global Styles-paneler vælger og viser nu det korrekte preset, når to farvepresets deler samme hex-værdi. (#80497)
- Global Styles opløser linkelement-stile i blokinspektøren for blokke, der er links. (#80607)
- RTC forhindrer synkronisering af kontrollerede blokke i at overtage undo. (#80503)
- Rich text fjerner igen
tabIndexfra redigerbare elementer, så Shift+klik-markering virker. (#80651) - Writing flow udvider blokmarkering med Shift+pil, når der ikke er en browsermarkering. (#80687)
- Writing flow registrerer Shift+klik som en gestus til flermarkering. (#80286)
- Writing flow stopper sidescroll, når markøren flyttes i blokke, der er højere end viewporten. (#80708)
- RichText anvender ikke input transformation, når
onReplacemangler. (#80978) - RichText retter et crash i paste-handleren ved indsættelse af filer. (#81010)
Indlægseditor
- Editoren overlader undo til browseren i felter, der selv håndterer undo. (#80768)
- Faste højder i enhedseksempler til mobil og tablet er gendannet. (#80271)
- Metabokse matcher nu overskriftsstilene fra Gutenberg-paneler. (#80670)
- Notes gemmer målblokken, før en note på blokniveau gemmes. (#80690)
- Notes registrerer inline-noteformatet ved importtidspunktet. (#80576)
- Notes rapporterer nu gemmesucces ensartet fra notehandlinger. (#80748)
- Notes synkroniserer sidebjælkevalget med inline-markøren under markøren. (#80610)
- Post Lock retter en modal, der fejlagtigt sagde, at en anden havde overtaget, for brugere uden adgang. (#79997)
- Notices pakkes ind i
ThemeProvidermed hjørneradius 0. (#79523) - iOS fjerner et jump-hack og tilføjer typewriter-adfærd. (#74596)
Komponenter, medier og data
- DataForm forhindrer validering af card og details i at stjæle fokus. (#80685)
- Root-override-problemet i
.prettierrc.jser rettet. (#80422) - GradientPicker vælger efter slug, så to presets med samme gradient bevarer deres identitet. (#80554)
- Storybook retter
Emotion-konfigurationen forjsxImportSource. (#80426) - ToolsPanel flytter sine stile til et SCSS-modul. (#80445)
- Upload af lange animerede GIF’er hænger ikke længere ved konvertering, fordi systemet kun afkoder første frame til stillbilleder. (#80260)
- Media tvinger ikke længere
crossoriginpåIMG-tags i medieskabeloner. (#80532) wp-buildsynkroniserer listen over preload-felter for sideskabeloner medcore-data. (#80648)- Media REST API backporterer størrelsestjekket for uploads, der indlæses fra en URL-sti. (#80659)
- Theme JSON udligner specificiteten for preset-klasser på blokniveau med
:where(). (#80657) - Data Layer bevarer samarbejdspartneres ugemte redigeringer, når en anden bruger gemmer. (#79936)
Tilgængelighed og ydeevne
- Blokbiblioteket forbedrer håndteringen af props i de forskellige Alignment-kontroller. (#63696)
- Navigation opdaterer nu
aria-expandedkorrekt ved hover over en undermenu i overlayet. (#77563) - Rich text læser
contentEditableiownsSelectionfor at undgå tvungent layout. (#80549) - En regression i skriveydeevnen forsøges rettet. (#80507)
- Indlægseditoren undgår unødvendige genhentninger af termer i
FlatTermSelector. (#80623) - Core Data flytter
EntitiesSavedStateud af editoren. (#80485)
Eksperimenter og sikkerhed
- Dashboard Widgets styrker saniteringen af
hrefi handlingslinks. (#80510) - Dashboard Widgets saniterer
hrefi hjælpelinks. (#80409) - Global Styles-nedarvningens brugerflade ligger nu bag et Gutenberg-eksperiment. (#80815)
Dokumentation, kodekvalitet og værktøjer
Udgivelsen indeholder også en lang række ændringer, som især vedrører udviklingsmiljøet, intern arkitektur, dokumentation og test. De har ikke nødvendigvis en synlig effekt i editoren, men de kan være relevante, hvis du arbejder direkte med Gutenberg-repositoriet eller dets pakker.
- Dokumentationen tilføjer
nvm use-instruktioner iAGENTS.md, et mønster for gradvis opdagelse af agentinstruktioner og skills, manglende global dokumentation itable-of-contents/index.php, docblocks tilWP_Icon_Collections_Registry, præciseringer om agent discovery,getBlockmed inner block controllers, backporting til WordPress core, callbacks til server-side view configuration-filtre, iframe-vejledning for Gutenberg 23.6, adminfarveskemaeksempler i Storybook, valg mellem dialog og drawer samt URL-links i inline-dokumentation. (#80755, #80650, #80442, #80172, #80753, #80773, #80593, #80642, #80629, #80569, #80783, #80744, #80716) - ESLint udvider sin denylist, webpack-dev-server opdateres til
^5.2.1, changelog-tjek virker igen for forkede pull requests, og Interactivity API flytter directives til selvregistrerende moduler. RTC brugerarray_any()i polling-synkroniseringsserveren ogstr_contains()iWP_Sync_Config. (#80754, #80347, #80538, #79975, #80522, #80476) - Storybook bygger resolve-specifieren som en URL-lignende streng, og værktøjer kan nu opløse afhængigheder uafhængigt af
node_modules-layoutet. (#80416, #80414) - Autocomplete refererer forslagslisten med
aria-controlsogaria-haspopup; ExternalLink bruger fælles focus ring-mixin;useSelectionPropsbliver layoutuafhængig; Disabled, FormTokenField og SearchControl flyttes til SCSS-moduler. (#80403, #80573, #80677, #80643, #80472, #80474) - Pakker opdaterer
date-fnstil 4.4.0, Color.js til 0.7.1 og colorjs.io, samtidig med at en fejlomgåelse fjernes. Storybook forbedrer læsbarheden af komponentkode, og tema-pakken forbydersrci publicerede pakker. (#80763, #80762, #80272, #80352, #80213) - Blokbiblioteket sikrer mod attributværdier, der kaster fejl, gør
editableRoottil en privat blokindstilling, håndterer WordPress-Develop 7.0-merges, bruger null coalescing i Page List ogstr_contains()i Table of Contents, fjerner overflødige test- og kontrolprops og fjerner standardafsnittet fra Tabs-skabelonen. (#80558, #80820, #75985, #80728, #80676, #80540, #80418, #80565) - Duotone-hjælpefunktioner samles i global-styles-engine, duplikerede preset-hjælpefunktioner reduceres, og
URLInputomskrives til en funktionskomponent. (#80598, #80245, #80721) - Indlægseditoren validerer, at SVG-ikoner har
viewBox, og Notes annullerer en igangværende hover-fremhævning, når fokus forlader en notetråd. Data Layer opdaterermemizetil 2.1.1, Global Styles omdøber unit test-filer og fjerner.spec.js, Site Editor erstatter Theme-brug i canvas-loaderen med CSS, og samarbejdskode flyttes tillib/experimental/collaboration. (#80273, #80752, #80764, #80711, #80688, #80469) - Releaseværktøjerne opdaterer skærmbilledet af GitHubs Release-label og kræver en fungerende GitHub CLI ved cherry-picking. (#80567, #80568)
- Build tooling tilføjer en selvstændig React 18 vendor-pakke, håndterer projektsstier med mellemrum, justerer typings for polymorphism props, medtager udtrukne stile i asset-versionens hash og tilføjer en React 19-kompatibilitetstest for boolean
inert. Prettier opløses eksplicit, Storybook fjerner Emotion som JSX-importkilde, WP Build undgår et uendeligt worker-build-loop, og npm-adgangstjek forbedres. (#80367, #80519, #80364, #80601, #80397, #80529, #80647, #80361, #80334) - Testmiljøet retter Jest-ignore-mønsteret for TypeScript-deklarationsfiler og opdaterer Jest til version 30, som er en breaking change. Flakiness.io begrænses til det kanoniske Gutenberg-repositorium, performance-testen for blokmarkering retter 0 ms-rapportering, RTC retter en test for slettede brugere på multisite, og Site Editor får end-to-end-dækning af udvidelig view configuration. (#80737, #80767, #80816, #80524, #80463, #80577)
- Base Styles fjerner accentfarveparameteren fra
input-control, og den private Theme-komponent fjernes. (#80595, #80691)
Det skal du teste i dine projekter
Opdater et lokalt testmiljø til Gutenberg 23.7, hvis du udvikler blokke, temaer eller editorudvidelser. Test især dynamiske Galleri-blokke, Pullquote med egen linjehøjde, responsive editorindstillinger, Global Styles-presets og integrationer, der bruger komponenterne Combobox, Select eller SelectControl.
Referencer / Kilder
Mads Jensen
Kubernetes og container orchestration ekspert. Microservices deployment og cluster management er min hverdag. Skalerbarhed i centrum.
Alle indlæg