Vai al contenuto
Gutenberg 23.7: Galleria dinamica, Stili globali e correzioni dell’editor
Giulia Romano
Giulia Romano 7 August 2026 · 8 min di lettura

Gutenberg 23.7: Galleria dinamica, Stili globali e correzioni dell’editor

Gutenberg 23.7 concentra il lavoro su correzioni dell’editor, sul perfezionamento della modalità dinamica della Galleria e su componenti utili anche a chi sviluppa estensioni. Il plugin è disponibile per il download e puoi provarlo anche in una demo su WordPress Playground.

Correzioni visibili nell’editor a blocchi

I blocchi flottanti non si sovrappongono più ai blocchi sticky. L’appender per il blocco vuoto ora compare nella posizione corretta dentro i blocchi che gestiscono una propria barra degli strumenti; inoltre il blocco Citazione ora applica nell’editor l’altezza di riga personalizzata, allineandosi al frontend. Le anteprime mobile e tablet recuperano infine un’altezza fissa.

Miglioramenti dell’editor a blocchi in Gutenberg 23.7
Correzioni di layout e di comportamento nell’editor. — Forrás: WordPress.org

La modalità dinamica della Galleria rende più chiaro il distacco delle immagini

Gutenberg 23.6 aveva introdotto una modalità dinamica per il blocco Galleria, ma il pulsante della barra degli strumenti “Convert to images” non spiegava con precisione l’azione. In 23.7 il comando si chiama Detach e apre una finestra modale che descrive cosa accade alle immagini quando le distacchi. La conversione della modalità dinamica conta anche come un singolo livello nella cronologia Annulla.

Pulsante Detach nella Galleria dinamica
Il comando rinominato nella barra degli strumenti della Galleria. — Forrás: WordPress.org
Finestra di conferma per il distacco delle immagini dalla Galleria
La modale chiarisce l’effetto dell’operazione. — Forrás: WordPress.org

Esperimenti e componenti

L’interfaccia per l’ereditarietà degli Stili globali diventa sperimentale e richiede un’attivazione esplicita dalla pagina Gutenberg > Esperimenti. I controlli dell’ispettore dei blocchi riflettono inoltre i valori ereditati degli Stili globali; per i blocchi che sono link risolvono anche gli stili dell’elemento link.

Il blocco Math usa ValidatedTextareaControl per l’input LaTeX: gli errori di parsing non interrompono più la digitazione a ogni carattere, perché il feedback arriva quando il campo perde il focus per la prima volta e lo screen reader non annuncia più un errore a ogni battuta. Combobox, Select e SelectControl aggiungono i sottocomponenti Group e GroupLabel, così le opzioni raggruppate mantengono una composizione coerente nelle famiglie di popup.

Miglioramenti e funzionalità per sviluppatori

Tra i miglioramenti generali, gli stili base consentono di sovrascrivere il colore dell’anello di focus in outset-ring__focus; la Dashboard dei widget misura l’adattamento dell’header e documenta il chrome; le primitive dei widget vengono distribuite come script module. La libreria dei font assegna una larghezza fissa ai campi di ricerca in DataViews, evitando salti del layout, e allinea la dimensione del carattere del selettore di pagina di navigazione a DataViews.

DataViewsPicker supporta la selezione di intervalli con Maiusc+clic nei layout tabella, griglia e attività. Il componente sandbox accetta la prop sandbox, gli input type="number" nascondono gli spin control nativi, SearchControl renderizza il suffisso soltanto quando presente e l’interfaccia introduce la primitiva Autocomplete.Row. La libreria dei blocchi aggiunge copertura end-to-end per il flusso utente dell’Indice dei contenuti.

L’editor degli articoli introduce l’impostazione responsiveEditingEnabled, che permette di nascondere l’opzione per gli stili responsive. Nella collaborazione in tempo reale (RTC), Quick Edit resta disabilitato mentre qualcuno modifica un articolo; la sincronizzazione controllata dei blocchi non intercetta più Annulla, la serializzazione compatta i dati e gli interventi non salvati dei collaboratori sopravvivono quando un altro utente salva.

La gestione condivisa dei preset viene estratta dalle ombre e dalle dimensioni dei caratteri. L’API di configurazione delle view aggiorna il versioning, rifiuta merge con strutture incompatibili, definisce la semantica degli array vuoti e rimuove i valori null dai membri aggiunti. createInterpolateElement gestisce senza errori i tag di chiusura senza corrispondenza.

Correzioni nei blocchi e nei media

Il renderer PHP render_block_core_video() considera ora anche il tag VIDEO scritto con maiuscole o combinazioni non minuscole. Nei blocchi Copertina e Fisarmonica, Invio permette di uscire; il blocco Elenco conserva il tipo ordinato durante il rientro; il Media Editor mostra uno stato di caricamento mentre carica il file ritagliato e rimuove il flag ridondante __heicUploadSupport.

Il blocco Navigazione ripristina l’opzione “Aggiungi blocco” nell’interfaccia Link dentro le parti di template, Playlist accorcia l’etichetta del pulsante nella barra degli strumenti e Query Loop aggiunge il contesto di traduzione all’etichetta dell’impostazione “Offset”. Social Link corregge un tag di chiusura superfluo nel markup dell’icona Tumblr. Il blocco Galleria implementa inoltre il nuovo comando Detach e la relativa modale.

Gli upload di GIF animate lunghe non restano più bloccati durante la conversione: per gli output statici viene decodificato soltanto il primo frame. I template media non forzano più crossorigin sui tag IMG; wp-build sincronizza l’elenco dei campi precaricati del template pagina con core-data; la REST API dei media recupera il controllo della dimensione di upload per il sideload da un percorso URL.

Editor, accessibilità e prestazioni

Il controllo dell’immagine di sfondo elimina un anello di focus duplicato. La posizione del cursore resta corretta quando elimini in avanti blocchi vuoti; la selezione con Maiusc+clic torna a funzionare rimuovendo tabIndex dagli elementi editabili e i test di importazione dei preset vengono corretti dopo il consolidamento delle utility.

L’editor amplia le selezioni di blocchi con Maiusc+frecce quando non esiste una selezione nativa, tratta Maiusc+clic come gesto di multiselezione e impedisce lo scorrimento della pagina quando sposti il cursore in blocchi più alti della viewport. RichText non applica trasformazioni dell’input senza onReplace e non va più in crash quando incolli file.

In accessibilità, i controlli di allineamento migliorano la gestione delle prop e il sottomenu di Navigazione dentro un overlay aggiorna correttamente aria-expanded al passaggio del mouse. Autocomplete collega l’elenco dei suggerimenti con aria-controls e aria-haspopup; ExternalLink usa il mixin condiviso per l’anello di focus.

Per le prestazioni, il rich text legge l’attributo contentEditable in ownsSelection per evitare un layout forzato e interviene su una regressione nelle prestazioni di digitazione. FlatTermSelector evita richieste superflue delle tassonomie e Core Data sposta EntitiesSavedState fuori dall’editor.

Articoli, note e stili globali

Nei campi che gestiscono autonomamente Annulla, l’editor lascia il comando al browser. I meta box adottano titoli coerenti con i pannelli Gutenberg; la finestra di Post Lock non passa più erroneamente a “Someone else has taken over” per chi non può ottenere il lock; gli avvisi vengono inclusi in ThemeProvider con raggio degli angoli pari a zero. Su iOS viene rimosso il workaround che causava salti e aggiunto il comportamento typewriter.

Le note catturano il blocco di destinazione prima di salvare una nota a livello di blocco, registrano il formato delle note inline al momento dell’importazione, riportano in modo coerente il successo del salvataggio e sincronizzano la selezione nella barra laterale con il marcatore inline sotto il cursore. Quando il focus lascia una conversazione, l’evidenziazione hover in corso viene annullata.

DataForm non sottrae più il focus con la validazione delle card e dei dettagli. GradientPicker seleziona tramite slug, mantenendo distinte due preimpostazioni con lo stesso gradiente; i pannelli degli Stili globali non selezionano più né mostrano il preset errato se due preset colore condividono lo stesso valore esadecimale. In theme.json, :Where() uniforma la specificità delle classi dei preset a livello di blocco.

Dashboard sperimentale, build e test

I widget sperimentali della Dashboard rafforzano la sanitizzazione degli URL href delle azioni e dei link di aiuto. L’Interactivity API rifattorizza le direttive in moduli con auto-registrazione; il codice della collaborazione in tempo reale passa a lib/experimental/collaboration; editableRoot diventa un’impostazione privata del blocco invece di un supporto pubblico.

Il sistema di build aggiunge un pacchetto vendor indipendente per React 18, gestisce percorsi del progetto con spazi, evita cicli infiniti dei worker e include gli stili estratti nell’hash di versione delle risorse. Aggiunge anche un test end-to-end di compatibilità con React 19 per l’attributo booleano inert, risolve Prettier esplicitamente nei layout isolati e rimuove Emotion come sorgente di import JSX in Storybook.

Jest passa alla versione 30, una modifica incompatibile, e corregge il pattern di esclusione per le dichiarazioni TypeScript. I test di prestazione riparano la metrica “Selecting blocks”, che poteva riportare 0 ms; i test RTC correggono il caso di utenti eliminati in un multisito e il Site Editor aggiunge copertura end-to-end per l’estendibilità della configurazione delle view.

Manutenzione del codice e documentazione

La release aggiorna webpack-dev-server a ^5.2.1, date-fns alla 4.4.0, Color.js alla 0.7.1 e memize alla 2.1.1. Risolve i controlli del changelog nei pull request da fork, rende indipendente la risoluzione delle dipendenze dal layout di node_modules, usa array_any() e str_contains() in punti della sincronizzazione RTC e vieta src nel pacchetto theme pubblicato.

Le utility duotone e quelle dei preset riducono le duplicazioni; URLInput diventa un componente funzione. Diversi componenti migrano agli SCSS Module, fra cui ToolsPanel, Disabled, FormTokenField e SearchControl; la prop useSelectionProps diventa indipendente dal layout. Il blocco Indice dei contenuti usa str_contains(), Tabs rimuove il paragrafo predefinito dal template del pannello e Page List usa l’operatore di coalescenza nulla per parentPageID.

La documentazione aggiunge istruzioni nvm use, chiarisce la scoperta progressiva delle istruzioni per agenti, il comportamento di getBlock con i controller dei blocchi interni, l’uso degli iframe dopo Gutenberg 23.6 e i filtri server-side della configurazione delle view. Documenta inoltre l’obbligo per le callback di tali filtri di restituire il container, amplia la guida al backport nel core e introduce linee guida di design per dialog e drawer.

Cosa verificare dopo l’aggiornamento

Aggiorna Gutenberg 23.7 prima in un ambiente di staging se il progetto usa Gallerie dinamiche, stili globali ereditati, note collaborative o controlli dell’editor personalizzati. Verifica la cronologia Annulla della Galleria, l’aspetto di Citazione e dei blocchi flottanti, le anteprime responsive e le integrazioni che dipendono da componenti Select, configurazioni delle view, RichText o dalla pipeline Jest.

Unisciti alla community di HelloWP!

Chatta con noi su WordPress e sullo sviluppo web e condividi esperienze con altri sviluppatori.

- membri
- online
Unisciti

Utilizziamo i cookie per migliorare la tua esperienza. Continuando, accetti la nostra Informativa sui cookie.