{"id":253,"date":"2026-08-07T18:22:53","date_gmt":"2026-08-07T16:22:53","guid":{"rendered":"https:\/\/helloblog.io\/it\/gutenberg-23-7-novita-correzioni-api\/"},"modified":"2026-08-07T18:22:53","modified_gmt":"2026-08-07T16:22:53","slug":"gutenberg-23-7-novita-correzioni-api","status":"publish","type":"post","link":"https:\/\/helloblog.io\/it\/gutenberg-23-7-novita-correzioni-api\/","title":{"rendered":"Gutenberg 23.7: Galleria dinamica, Stili globali e correzioni dell\u2019editor"},"content":{"rendered":"\n<p>Gutenberg 23.7 concentra il lavoro su correzioni dell\u2019editor, sul perfezionamento della modalit\u00e0 dinamica della Galleria e su componenti utili anche a chi sviluppa estensioni. Il plugin \u00e8 disponibile per il download e puoi provarlo anche in una <a href=\"https:\/\/playground.wordpress.net\/?plugin=gutenberg&#038;url=%2Fwp-admin%2Fpost-new.php%3Fgutenberg-demo\">demo su WordPress Playground<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Correzioni visibili nell\u2019editor a blocchi<\/h2>\n\n\n\n<p>I blocchi flottanti non si sovrappongono pi\u00f9 ai blocchi sticky. L\u2019appender 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\u2019editor l\u2019altezza di riga personalizzata, allineandosi al frontend. Le anteprime mobile e tablet recuperano infine un\u2019altezza fissa.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/06-various-block-editor-improvements.webp\" alt=\"Miglioramenti dell\u2019editor a blocchi in Gutenberg 23.7\" class=\"wp-image-250\" srcset=\"https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/06-various-block-editor-improvements.webp 1920w, https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/06-various-block-editor-improvements-300x169.webp 300w, https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/06-various-block-editor-improvements-1024x576.webp 1024w, https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/06-various-block-editor-improvements-768x432.webp 768w, https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/06-various-block-editor-improvements-1536x864.webp 1536w, https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/06-various-block-editor-improvements-400x225.webp 400w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><figcaption class=\"wp-element-caption\">Correzioni di layout e di comportamento nell\u2019editor. \u2014 <em>Forr\u00e1s: WordPress.org<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">La modalit\u00e0 dinamica della Galleria rende pi\u00f9 chiaro il distacco delle immagini<\/h2>\n\n\n\n<p>Gutenberg 23.6 aveva introdotto una modalit\u00e0 dinamica per il blocco Galleria, ma il pulsante della barra degli strumenti \u201cConvert to images\u201d non spiegava con precisione l\u2019azione. In 23.7 il comando si chiama <strong>Detach<\/strong> e apre una finestra modale che descrive cosa accade alle immagini quando le distacchi. La conversione della modalit\u00e0 dinamica conta anche come un singolo livello nella cronologia Annulla.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"561\" src=\"https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/01-detach-images-gallery-1024x561-1.webp\" alt=\"Pulsante Detach nella Galleria dinamica\" class=\"wp-image-251\" srcset=\"https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/01-detach-images-gallery-1024x561-1.webp 1024w, https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/01-detach-images-gallery-1024x561-1-300x164.webp 300w, https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/01-detach-images-gallery-1024x561-1-768x421.webp 768w, https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/01-detach-images-gallery-1024x561-1-400x219.webp 400w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Il comando rinominato nella barra degli strumenti della Galleria. \u2014 <em>Forr\u00e1s: WordPress.org<\/em><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"561\" src=\"https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/02-detach-images-gallery-1024x561-1.webp\" alt=\"Finestra di conferma per il distacco delle immagini dalla Galleria\" class=\"wp-image-252\" srcset=\"https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/02-detach-images-gallery-1024x561-1.webp 1024w, https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/02-detach-images-gallery-1024x561-1-300x164.webp 300w, https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/02-detach-images-gallery-1024x561-1-768x421.webp 768w, https:\/\/helloblog.io\/app\/uploads\/sites\/6\/2026\/08\/02-detach-images-gallery-1024x561-1-400x219.webp 400w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">La modale chiarisce l\u2019effetto dell\u2019operazione. \u2014 <em>Forr\u00e1s: WordPress.org<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Esperimenti e componenti<\/h2>\n\n\n\n<p>L\u2019interfaccia per l\u2019ereditariet\u00e0 degli Stili globali diventa sperimentale e richiede un\u2019attivazione esplicita dalla pagina Gutenberg > Esperimenti. I controlli dell\u2019ispettore dei blocchi riflettono inoltre i valori ereditati degli Stili globali; per i blocchi che sono link risolvono anche gli stili dell\u2019elemento link.<\/p>\n\n\n\n<p>Il blocco Math usa <code>ValidatedTextareaControl<\/code> per l\u2019input LaTeX: gli errori di parsing non interrompono pi\u00f9 la digitazione a ogni carattere, perch\u00e9 il feedback arriva quando il campo perde il focus per la prima volta e lo screen reader non annuncia pi\u00f9 un errore a ogni battuta. <code>Combobox<\/code>, <code>Select<\/code> e <code>SelectControl<\/code> aggiungono i sottocomponenti <code>Group<\/code> e <code>GroupLabel<\/code>, cos\u00ec le opzioni raggruppate mantengono una composizione coerente nelle famiglie di popup.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Miglioramenti e funzionalit\u00e0 per sviluppatori<\/h2>\n\n\n\n<p>Tra i miglioramenti generali, gli stili base consentono di sovrascrivere il colore dell\u2019anello di focus in <code>outset-ring__focus<\/code>; la Dashboard dei widget misura l\u2019adattamento dell\u2019header 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.<\/p>\n\n\n\n<p><code>DataViewsPicker<\/code> supporta la selezione di intervalli con Maiusc+clic nei layout tabella, griglia e attivit\u00e0. Il componente sandbox accetta la prop <code>sandbox<\/code>, gli input <code>type=&quot;number&quot;<\/code> nascondono gli spin control nativi, <code>SearchControl<\/code> renderizza il suffisso soltanto quando presente e l\u2019interfaccia introduce la primitiva <code>Autocomplete.Row<\/code>. La libreria dei blocchi aggiunge copertura end-to-end per il flusso utente dell\u2019Indice dei contenuti.<\/p>\n\n\n\n<p>L\u2019editor degli articoli introduce l\u2019impostazione <code>responsiveEditingEnabled<\/code>, che permette di nascondere l\u2019opzione 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\u00f9 Annulla, la serializzazione compatta i dati e gli interventi non salvati dei collaboratori sopravvivono quando un altro utente salva.<\/p>\n\n\n\n<p>La gestione condivisa dei preset viene estratta dalle ombre e dalle dimensioni dei caratteri. L\u2019API di configurazione delle view aggiorna il versioning, rifiuta merge con strutture incompatibili, definisce la semantica degli array vuoti e rimuove i valori <code>null<\/code> dai membri aggiunti. <code>createInterpolateElement<\/code> gestisce senza errori i tag di chiusura senza corrispondenza.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Correzioni nei blocchi e nei media<\/h2>\n\n\n\n<p>Il renderer PHP <code>render_block_core_video()<\/code> considera ora anche il tag <code>VIDEO<\/code> 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 <code>__heicUploadSupport<\/code>.<\/p>\n\n\n\n<p>Il blocco Navigazione ripristina l\u2019opzione \u201cAggiungi blocco\u201d nell\u2019interfaccia Link dentro le parti di template, Playlist accorcia l\u2019etichetta del pulsante nella barra degli strumenti e Query Loop aggiunge il contesto di traduzione all\u2019etichetta dell\u2019impostazione \u201cOffset\u201d. Social Link corregge un tag di chiusura superfluo nel markup dell\u2019icona Tumblr. Il blocco Galleria implementa inoltre il nuovo comando Detach e la relativa modale.<\/p>\n\n\n\n<p>Gli upload di GIF animate lunghe non restano pi\u00f9 bloccati durante la conversione: per gli output statici viene decodificato soltanto il primo frame. I template media non forzano pi\u00f9 <code>crossorigin<\/code> sui tag <code>IMG<\/code>; <code>wp-build<\/code> sincronizza l\u2019elenco dei campi precaricati del template pagina con <code>core-data<\/code>; la REST API dei media recupera il controllo della dimensione di upload per il sideload da un percorso URL.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Editor, accessibilit\u00e0 e prestazioni<\/h2>\n\n\n\n<p>Il controllo dell\u2019immagine 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 <code>tabIndex<\/code> dagli elementi editabili e i test di importazione dei preset vengono corretti dopo il consolidamento delle utility.<\/p>\n\n\n\n<p>L\u2019editor 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\u00f9 alti della viewport. RichText non applica trasformazioni dell\u2019input senza <code>onReplace<\/code> e non va pi\u00f9 in crash quando incolli file.<\/p>\n\n\n\n<p>In accessibilit\u00e0, i controlli di allineamento migliorano la gestione delle prop e il sottomenu di Navigazione dentro un overlay aggiorna correttamente <code>aria-expanded<\/code> al passaggio del mouse. <code>Autocomplete<\/code> collega l\u2019elenco dei suggerimenti con <code>aria-controls<\/code> e <code>aria-haspopup<\/code>; <code>ExternalLink<\/code> usa il mixin condiviso per l\u2019anello di focus.<\/p>\n\n\n\n<p>Per le prestazioni, il rich text legge l\u2019attributo <code>contentEditable<\/code> in <code>ownsSelection<\/code> per evitare un layout forzato e interviene su una regressione nelle prestazioni di digitazione. <code>FlatTermSelector<\/code> evita richieste superflue delle tassonomie e Core Data sposta <code>EntitiesSavedState<\/code> fuori dall\u2019editor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Articoli, note e stili globali<\/h2>\n\n\n\n<p>Nei campi che gestiscono autonomamente Annulla, l\u2019editor lascia il comando al browser. I meta box adottano titoli coerenti con i pannelli Gutenberg; la finestra di Post Lock non passa pi\u00f9 erroneamente a \u201cSomeone else has taken over\u201d per chi non pu\u00f2 ottenere il lock; gli avvisi vengono inclusi in <code>ThemeProvider<\/code> con raggio degli angoli pari a zero. Su iOS viene rimosso il workaround che causava salti e aggiunto il comportamento typewriter.<\/p>\n\n\n\n<p>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\u2019importazione, 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\u2019evidenziazione hover in corso viene annullata.<\/p>\n\n\n\n<p><code>DataForm<\/code> non sottrae pi\u00f9 il focus con la validazione delle card e dei dettagli. <code>GradientPicker<\/code> seleziona tramite slug, mantenendo distinte due preimpostazioni con lo stesso gradiente; i pannelli degli Stili globali non selezionano pi\u00f9 n\u00e9 mostrano il preset errato se due preset colore condividono lo stesso valore esadecimale. In <code>theme.json<\/code>, <code>:Where()<\/code> uniforma la specificit\u00e0 delle classi dei preset a livello di blocco.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dashboard sperimentale, build e test<\/h2>\n\n\n\n<p>I widget sperimentali della Dashboard rafforzano la sanitizzazione degli URL <code>href<\/code> delle azioni e dei link di aiuto. L\u2019Interactivity API rifattorizza le direttive in moduli con auto-registrazione; il codice della collaborazione in tempo reale passa a <code>lib\/experimental\/collaboration<\/code>; <code>editableRoot<\/code> diventa un\u2019impostazione privata del blocco invece di un supporto pubblico.<\/p>\n\n\n\n<p>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\u2019hash di versione delle risorse. Aggiunge anche un test end-to-end di compatibilit\u00e0 con React 19 per l\u2019attributo booleano <code>inert<\/code>, risolve Prettier esplicitamente nei layout isolati e rimuove Emotion come sorgente di import JSX in Storybook.<\/p>\n\n\n\n<p>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 \u201cSelecting blocks\u201d, 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\u2019estendibilit\u00e0 della configurazione delle view.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Manutenzione del codice e documentazione<\/h2>\n\n\n\n<p>La release aggiorna <code>webpack-dev-server<\/code> a <code>^5.2.1<\/code>, <code>date-fns<\/code> alla 4.4.0, Color.js alla 0.7.1 e <code>memize<\/code> alla 2.1.1. Risolve i controlli del changelog nei pull request da fork, rende indipendente la risoluzione delle dipendenze dal layout di <code>node_modules<\/code>, usa <code>array_any()<\/code> e <code>str_contains()<\/code> in punti della sincronizzazione RTC e vieta <code>src<\/code> nel pacchetto theme pubblicato.<\/p>\n\n\n\n<p>Le utility duotone e quelle dei preset riducono le duplicazioni; <code>URLInput<\/code> diventa un componente funzione. Diversi componenti migrano agli SCSS Module, fra cui <code>ToolsPanel<\/code>, <code>Disabled<\/code>, <code>FormTokenField<\/code> e <code>SearchControl<\/code>; la prop <code>useSelectionProps<\/code> diventa indipendente dal layout. Il blocco Indice dei contenuti usa <code>str_contains()<\/code>, Tabs rimuove il paragrafo predefinito dal template del pannello e Page List usa l\u2019operatore di coalescenza nulla per <code>parentPageID<\/code>.<\/p>\n\n\n\n<p>La documentazione aggiunge istruzioni <code>nvm use<\/code>, chiarisce la scoperta progressiva delle istruzioni per agenti, il comportamento di <code>getBlock<\/code> con i controller dei blocchi interni, l\u2019uso degli iframe dopo Gutenberg 23.6 e i filtri server-side della configurazione delle view. Documenta inoltre l\u2019obbligo 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.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cosa verificare dopo l\u2019aggiornamento<\/h2>\n\n\n\n<p>Aggiorna Gutenberg 23.7 prima in un ambiente di staging se il progetto usa Gallerie dinamiche, stili globali ereditati, note collaborative o controlli dell\u2019editor personalizzati. Verifica la cronologia Annulla della Galleria, l\u2019aspetto 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.<\/p>\n\n\n<div class=\"references-section\">\n                <h2>Riferimenti \/ Fonti<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/make.wordpress.org\/core\/2026\/08\/06\/whats-new-in-gutenberg-23-7-05-august\/\" target=\"_blank\" rel=\"noopener noreferrer\">What\u2019s new in Gutenberg 23.7? (05 August)<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>Gutenberg 23.7 non introduce una singola funzione dominante: sistema per\u00f2 Gallerie dinamiche, layout dell\u2019editor, Stili globali e numerosi dettagli che incidono su temi e plugin.<\/p>\n","protected":false},"author":20,"featured_media":249,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[125],"tags":[126,24,127,128,10],"class_list":["post-253","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-editor-a-blocchi","tag-editor-a-blocchi","tag-gutenberg","tag-stili-globali","tag-sviluppo-wordpress","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/it\/wp-json\/wp\/v2\/posts\/253","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/it\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/it\/wp-json\/wp\/v2\/comments?post=253"}],"version-history":[{"count":0,"href":"https:\/\/helloblog.io\/it\/wp-json\/wp\/v2\/posts\/253\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/it\/wp-json\/wp\/v2\/media\/249"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/it\/wp-json\/wp\/v2\/media?parent=253"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/it\/wp-json\/wp\/v2\/categories?post=253"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/it\/wp-json\/wp\/v2\/tags?post=253"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}