Към съдържанието
Gutenberg 23.7: какво се променя в блоковия редактор
Елена Димитрова
Елена Димитрова 7 August 2026 · 3 мин. четене

Gutenberg 23.7: какво се променя в блоковия редактор

Gutenberg 23.7 е наличен за изтегляне и доизпипва промените от 23.6. Изданието носи видими корекции в блоковия редактор, по-ясен динамичен режим за блока „Галерия“, експериментален контрол за наследяването в Global Styles и много промени под капака.

Можеш да изпробваш Gutenberg 23.7 в WordPress Playground или да го изтеглиш като разширение.

Видими подобрения в редактора

Плаващите блокове вече не застават върху sticky блокове. Празният appender се позиционира правилно и в блокове, които показват собствена лента с инструменти. Блокът Pullquote вече прилага избраната височина на редовете и в редактора, така че изгледът му съвпада с този на сайта.

Възстановени са и фиксираните височини в прегледа за мобилни устройства и таблети.

Корекции в оформлението на блоковия редактор
Gutenberg 23.7 коригира няколко дребни, но забележими проблема в редактора. — Forrás: WordPress.org

Динамичният режим на „Галерия“ получава по-ясно действие

Динамичният режим на блока „Галерия“, въведен в Gutenberg 23.6, заменя неясния бутон „Convert to images“. Новият надпис е „Detach“, а преди действието се отваря модален прозорец, който обяснява какво ще стане с изображенията.

Бутонът Detach в динамичния режим на блока „Галерия“
Новото име на действието показва, че изображенията се отделят от динамичната галерия. — Forrás: WordPress.org
Модален прозорец за отделяне на изображенията от динамична галерия
Модалният прозорец описва резултата преди отделянето. — Forrás: WordPress.org

Други важни промени

  • Наследяване в Global Styles. Експерименталният интерфейс вече работи само след изрично включване от страницата Gutenberg Experiments в настройките (#80815).
  • Math блок. Грешките при LaTeX вече не прекъсват писането при всяко натискане на клавиш. Полето използва ValidatedTextareaControl, показва обратна връзка, когато за първи път загуби фокус, и не изпраща екранно съобщение при всеки символ (#80500).
  • Групирани опции във формите. Combobox, Select и SelectControl получават подкомпоненти Group и GroupLabel. Така семействата контроли с падащи списъци изграждат групирани опции по един и същ начин (#80574).

Пълният списък с промени

Подобрения

  • Базовите стилове позволяват да смениш цвета на focus ring в outset-ring__focus (#80587).
  • Таблото с джаджи измерва мястото на header-а и документира chrome-а му (#80423).
  • Widget Primitives се разпространява като script module (#80149).

Компоненти

  • Combobox, Select и SelectControl добавят Group и GroupLabel (#80574).
  • DataViews и Font Library задават фиксирана ширина на полетата за търсене, за да избегнат разместване на оформлението (#80315).
  • DataViewsPicker позволява избор на диапазон с Shift+Click в изгледите picker-table, picker-grid и picker-activity (#80413).
  • Sandbox компонентът приема свойство sandbox (#69617).
  • Полето Input скрива вградените контроли за увеличение и намаление при type="number" (#80646).
  • SearchControl извежда suffix само когато има такъв (#80356).
  • Интерфейсът добавя примитива Autocomplete.Row (#80490).

Библиотека с блокове и редактор на публикации

  • Добавено е end-to-end покритие на потребителския сценарий за Table of Contents (#80199).
  • Math използва ValidatedTextareaControl за LaTeX (#80500).
  • Настройката responsiveEditingEnabled позволява на редактора да скрие опцията Responsive styles (#80814).
  • Font Library уеднаквява размера на шрифта в селектора на страница с този на DataViews (#80617).
  • При съвместна работа RTC изключва Quick Edit, докато някой редактира публикацията (#80016).
  • Global Styles изважда общото управление на presets от сенките и размерите на шрифта (#79810).
  • Инспекторът на блокове отразява наследените стойности от Global Styles (#77894).

Поправки в блоковия редактор и конфигурацията на изгледите

  • Плаващите блокове не се застъпват със sticky блокове (#80749).
  • Обновено е versioning поведението на API за конфигурации на изгледи (#80319).
  • Конфигурациите на изгледи отхвърлят merge операции с несъвпадаща структура, дефинират семантиката на празните масиви и премахват null от добавените членове (#80571).
  • createInterpolateElement обработва безопасно затварящи етикети без съответствие (#80618).

Поправки в блоковете

  • render_block_core_video() отчита VIDEO етикети, които не са с малки букви (#80537).
  • Cover и Accordion излизат от режима си с Enter (#77301).
  • Динамичната галерия преименува действието на Detach и показва обяснителен модален прозорец (#80727).
  • Pullquote прилага персонализирана височина на редовете в редактора (#80586).
  • Преобразуването в динамичния режим на Gallery заема само едно ниво в undo историята (#80665).
  • List запазва типа на подредения списък при отстъп (#75353).
  • Media Editor показва зареждане, докато зареди изрязания файл (#80460).
  • Media премахва излишния флаг __heicUploadSupport (#80452).
  • Navigation възстановява опцията „Add block“ в интерфейса за връзки вътре в template parts (#78427).
  • Playlist скъсява етикета на бутона в лентата за инструменти (#80759).
  • Query Loop добавя контекст за превод към етикета на настройката „Offset“ (#80582).
  • Social Link премахва излишен затварящ етикет от иконата на Tumblr (#80257).

Поправки в интерфейса на редактора

  • Контролата за фоново изображение премахва дублирания focus ring (#80671).
  • Block Tools позиционира правилно празния appender в блокове със собствена лента (#80592).
  • Forward delete пази правилната позиция на курсора при празни блокове (#77525).
  • Тестовете за presets отново импортират правилно след обединяването на помощните функции (#80589).
  • Панелите Global Styles не записват и не показват грешен preset, когато два цветови preset-а използват един и същ hex код (#80497).
  • Global Styles разрешава стиловете за link в контролите на инспектора за блокове, които са връзки (#80607).
  • RTC не позволява синхронизацията на контролирани блокове да прихваща undo (#80503).
  • Rich text премахва tabIndex от редактируемите елементи, за да поправи избора с Shift+Click (#80651).
  • Shift+стрелка разширява избора на блокове, когато няма нативен избор (#80687).
  • Shift+Click се отчита като жест за множествен избор (#80286).
  • Страницата не се скролира при местене на каретката в блок, по-висок от viewport-а (#80708).
  • RichText не прилага input transform без onReplace (#80978).
  • Paste handler-ът на RichText не се срива при поставяне на файлове (#81010).

Редактор на публикации, компоненти и медия

  • Полета със собствена undo логика оставят браузъра да управлява undo (#80768).
  • Мобилният и таблетният преглед отново имат фиксирана височина (#80271).
  • Meta boxes използват заглавия, съвпадащи със стила на Gutenberg панелите (#80670).
  • Notes запомня целевия блок преди запис на бележка на ниво блок, регистрира inline формата при import, връща последователно успешен запис и синхронизира избора в страничната лента с маркера под каретката (#80690, #80576, #80748, #80610).
  • Post Lock не показва погрешно „Someone else has taken over“ за потребител без право да поеме заключена публикация (#79997).
  • Съобщенията се обвиват в ThemeProvider с радиус на ъглите 0 (#79523).
  • iOS премахва workaround за подскачане и добавя typewriter (#74596).
  • DataForm не позволява на валидацията на card и details да отнема фокуса; поправен е root override проблемът в .prettierrc.js; GradientPicker избира по slug; Storybook поправя jsxImportSource; ToolsPanel преминава към SCSS Module (#80685, #80422, #80554, #80426, #80445).
  • При дълги анимирани GIF файлове качването не блокира: за статични резултати се декодира само първият кадър. Media вече не налага crossorigin на IMG етикетите в медийните шаблони, а wp-build синхронизира списъка preload полета за page template с core-data (#80260, #80532, #80648).

Сътрудничество, Global Styles и слой с данни

  • Notes отделя kses filter-а за mentions от ядрото в baseline strip теста, а RTC компактира при сериализация (#80656, #80707).
  • Media REST API пренася проверката за размер при качване от URL path (#80659).
  • Theme JSON изравнява специфичността на класовете за presets на ниво блок чрез :Where() (#80657).
  • RTC пази незаписаните редакции на сътрудниците, когато друг потребител запази (#79936).

Достъпност и производителност

  • Контролите за подравняване обработват по-добре свойствата си, а Navigation обновява aria-expanded при hover върху подменю в overlay (#63696, #77563).
  • Rich text чете атрибута contentEditable в ownsSelection, за да избегне принудително преизчисляване на оформлението, и има поправка на регресия в производителността при писане (#80549, #80507).
  • FlatTermSelector не презарежда излишно термини, а Core Data изнася EntitiesSavedState извън редактора (#80623, #80485).

Експерименти, документация и качество на кода

  • Dashboard Widgets подсилва sanitization на href за действия и помощни връзки, а Global Styles поставя интерфейса за наследяване зад Gutenberg experiment (#80510, #80409, #80815).
  • Документацията добавя nvm use и progressive-discovery указания за агенти; попълва липсваща глобална документация в table-of-contents/index.php и docblocks за WP_Icon_Collections_Registry; уточнява getBlock с контролери на вътрешни блокове, backport процеса, изискването callback-ите на view configuration filters да връщат container-а и iframe насоките за 23.6 (#80755, #80650, #80442, #80172, #80753, #80773, #80593, #80642, #80629).
  • Обновени са примерите за admin цветови схеми в Storybook, насоките dialog срещу drawer, сървърните view configuration filters и inline документацията за URL (#80569, #80783, #80744, #80716).
  • ESLint добавя липсващи компоненти към denylist; webpack-dev-server се обновява до ^5.2.1; changelog проверките работят при PR от fork; Interactivity API преработва директивите в саморегистриращи се модули (#80754, #80347, #80538, #79975).
  • RTC използва array_any() при проверката за по-нова компактизация и str_contains() в WP_Sync_Config; Storybook изгражда resolve specifier като URL низ; инструментите разрешават зависимости независимо от подредбата на node_modules (#80522, #80476, #80416, #80414).

Още промени за разработчици

  • Autocomplete свързва списъка с предложения чрез aria-controls и aria-haspopup; ExternalLink използва общия mixin за focus ring; useSelectionProps не зависи от layout; Disabled, FormTokenField и SearchControl преминават към SCSS модули (#80403, #80573, #80677, #80643, #80472, #80474).
  • Пакетите обновяват date-fns до 4.4.0, Color.js до 0.7.1 и memize до 2.1.1. Премахнат е workaround в зависимостта colorjs.io, UI кодът в Storybook използва масиви за children, а публикуваният theme пакет не допуска src (#80763, #80762, #80272, #80352, #80213, #80764).
  • Библиотеката с блокове защитава от attribute стойности, които хвърлят грешка; прави editableRoot частна настройка; включва поправки за WordPress-Develop 7.0 merges; използва null coalescing за parentPageID; премахва излишни jsdom pragma и __next40pxDefaultSize свойства; използва str_contains() в Table of Contents и маха началния paragraph от шаблона на Tabs (#80558, #80820, #75985, #80728, #80676, #80540, #80418, #80565).
  • Duotone помощните функции се обединяват в global-styles-engine, намаляват се дублираните preset utilities, а URLInput става function component. Иконите валидират viewBox, Notes отменя активното hover осветяване при напускане на нишка, тестовите файлове в Global Styles губят суфикса .spec.js, а Site Editor заменя Theme в canvas loader с CSS (#80598, #80245, #80721, #80273, #80752, #80711, #80688).
  • Кодът за съвместна работа се мести в lib/experimental/collaboration (#80469).

Инструменти и тестове

  • Документацията на release формуляра показва новия интерфейс на GitHub Release label, а release процесът изисква работещ GitHub CLI за cherry-pick (#80567, #80568).
  • Build системата добавя независим vendor пакет за React 18, обработва пътища с интервали в dev скрипта, пропуска polymorphism prop типизациите при intersection, включва извлечените стилове в asset version hash и добавя end-to-end React 19 тест за булевия атрибут inert (#80367, #80519, #80364, #80601, #80397).
  • Изолираното оформление разрешава Prettier изрично, Storybook премахва Emotion като JSX import source, WP Build избягва безкраен worker build loop, а предварителните проверки за npm достъп се подобряват (#80529, #80647, #80361, #80334).
  • Jest поправя ignore pattern за TypeScript declaration файлове и се обновява до v30 с breaking промени. Flakiness.io се използва само в каноничното Gutenberg хранилище, тестът за производителност отчита коректно метриката „Selecting blocks“, RTC поправя теста за изтрит потребител в multisite, а Site Editor добавя end-to-end покритие за разширяемостта на view configuration (#80737, #80767, #80816, #80524, #80463, #80577).
  • Base Styles премахва параметъра accent color от input-control, а частният компонент Theme отпада (#80595, #80691).

Какво да направиш сега

Ако поддържаш сайт или разширение с блока „Галерия“, провери новия поток Detach и undo поведението му. За теми с Global Styles тествай наследените стойности в инспектора, а интерфейса за наследяване включи ръчно само ако искаш да работиш с експерименталната функция. При разработка на блокове обърни внимание и на responsiveEditingEnabled, новите групирани контроли и промените в build и тестовите инструменти.

Препратки / Източници

Присъединете се към общността на HelloWP!

Разговаряйте с нас за WordPress и уеб разработка и споделяйте опит с други разработчици.

- членове
- онлайн
Присъединяване

Използваме бисквитки, за да подобрим вашето изживяване. Продължавайки, вие се съгласявате с нашата Политика за бисквитки.