Релиз WordPress 6.9

В этой статье расмотрим основные изменения в WP 6.9 и функции для разработчиков.

В WordPress 6.9 включено более чем 400 тикетов Core Trac

Дополнительно

Ниже обзор самых важных изменений.

Оглавление:

Новые способы совместной работы

Создание и управление контентом в WordPress 6.9 стало более гибким, с новыми инструментами и функциями для совместной работы и повышения удобства. Пользователи теперь могут добавлять заметки (notes) к блокам и использовать оптимизированные DataViews и палитру команд (command palette), реализованную по всему wp-admin.

Заметки (Notes)

В WordPress 6.9 редакторы могут писать заметки и отвечать на них напрямую на уровне отдельных блоков, что позволяет командам сотрудничать, отслеживать изменения и оставлять фидбек в процессе редактирования. Заметки можно закрывать, редактировать, удалять, а автору записи отправляются email-уведомления, когда оставлена новая заметка.

Обновления Field API, компонентов DataViews и DataForms

В этом релизе также добавлены улучшения Field API, а также компонентов DataViews и DataForms.

  • В Field API поле type расширено более чем 10 новыми типами полей, 11+ контролами edit с поддержкой валидации, более чем 16 операторами фильтрации и пользовательскими фильтрами ввода в filterBy, опциями readOnly для отключения редактирования поля и многим другим.

  • Обновленные функции DataViews включают улучшения модальных окон и текстовых actions, бесконечную прокрутку и возможность строить пользовательские макеты с помощью children, которые используют внутреннее управление состоянием и обработку данных DataViews. DataViews теперь сохраняются через @wordpress/views.

  • DataForms получили улучшенную панель panel, новые макеты карты и строк (card and row layouts) и переработанную управляемую валидацию.

Инструменты редактирования и архитектура

Пользователи WordPress теперь могут проще перетаскивать блоки, скрывать блоки одним кликом и использовать новый класс WP_Block_Processor для преобразования документов в структуру блоков, в то время как архитектура страницы улучшена за счет дальнейшей интеграции iframe.

Прямое перетаскивание блоков (Direct Drag and Drop)

Перетаскивание блоков стало лучше: теперь можно перемещать блоки напрямую внутри редактора сайта, вместо использования "чипа" перетаскивания. Это делает редактирование быстрее, проще и интуитивнее.

Возможность скрывать блоки

WordPress 6.9 позволяет редакторам скрывать и показывать блоки простым кликом.

Интеграция iframe в редактор записей

В рамках инициативы по переносу редактора записей в iframe внесено несколько изменений:

  1. Схема block.json теперь разрешает apiVersion только 3 для новых или обновляемых блоков.

  2. В консоли браузера будет показано предупреждение, когда блок регистрируется с использованием версии 1 или 2.

Эти изменения призваны помочь разработчикам перенести свои блоки на apiVersion = 3, с планом полностью поместить редактор в iframe в WordPress 7.0.

Стриминговый парсер блоков

WordPress 6.9 включает новый инструмент WP_Block_Processor для сканирования структуры блоков в HTML-документах. Новый класс проходит по документу, анализируя или корректируя структуру блоков, показывая структурное представление без изменения текста и преобразуя документ во вложенный массив информации о блоках и разобранных JSON-атрибутов.

Новые блоки и улучшения блоков

  • Новый блок "Математика" (Math)
  • Новый блок "Аккордеон" (Accordion)
  • блок terms query
  • блоки ссылки на комментарии и счетчика комментариев
  • улучшенные блоки заголовков и блока "время чтения" (time to read).

Релиз также содержит измененные возможности редактирования текста с поддержкой блока fitText, который позволяет автоматически подгонять размер шрифта под границы контейнера (и многое другое).

Вычисления с использованием π в блоке "Математика"

Новый блок Math добавляет поддержку рендереров MathML и LaTeX для отображения математики в блочном и встроенном (inline) режиме, что может быть добавлено в любое Rich Text поле, включая таблицы, заголовки и списки.

Сворачиваемый контент с новым блоком "Аккордеон"

Новый блок Accordion в 6.9 поддерживает пользовательское оформление и возможности паттернов.

Исправление специфичности CSS для блока заголовка

В 6.9 включено уточнение CSS-селектора для отступов у заголовков, у которых есть фон. Теперь он нацеливается на заголовки с классами .wp-block-heading и .has-background, чтобы настройки отступов воздействовали только на нужный блок.

Новые и улучшенные API

Abilities API

Abilities API позволяет Core WordPress, плагинам и темам регистрировать свою функциональность в едином, стандартизированном, машиночитаемом формате. Abilities API - часть более широкой инициативы AI Building Blocks for WordPress по созданию инструментов, необходимых для того, чтобы разработчики могли нативно интегрировать AI-инструменты в WordPress.

Статья: Abilities API

Обновления Interactivity API

В WordPress 6.9 Interactivity API теперь предлагает стандартизированный способ присвоения уникальных ID директивам Interactivity API, позволяя элементам страницы получать несколько похожих директив без конфликтов.

  • JS Функции getServerState() и getServerContext() были обновлены
  • добавлен новый алгоритм, оптимизирующий обработку скриптов и стилей
  • улучшена поддержка router-regions в интерактивных элементах
  • добавлено новое свойство attachTo, которое выступает в роли CSS-селектора, указывающего на родительский элемент для рендера роутера.

Статья: Changes to the Interactivity API in WordPress 6.9

Обновления HTML API

HTML API была доработана в 6.9 с несколькими исправлениями багов и улучшениями. Метод WP_HTML_Processor::serialize_token() теперь публичный, что расширяет безопасность HTML API на внешний код, который модифицирует и комбинирует HTML. В то же время WP_HTML_Tag_Processor::set_modifiable_text() теперь отклоняет содержимое элемента SCRIPT, которое может нарушить его нормальное закрытие.

Улучшенный Block Binding API

Обновленный интерфейс Block Bindings в 6.9 сосредоточен на удобстве. Добавлена возможность переключаться между источниками и привязывать/отвязывать атрибуты одним кликом, а новый фильтр block_bindings_supported_attributes_{$block_type} упрощает настройку того, как атрибуты блока связываются с источником Block Bindings.

Оптимизированная производительность

Улучшения метрики LCP (Largest Contentful Paint) достигаются за счет включения "on-demand" стилей блоков для классических тем, минификации стилей тем на блоках и увеличения лимита инлайн-стилей - все это уменьшает блокирующую рендеринг нагрузку.

Критический путь рендеринга разгружается благодаря снижению приоритета некритичных скриптов (например, для интерактивных блоков и обнаружения эмодзи), которые раньше конкурировали за ресурсы с элементами LCP (например, изображениями).

Стабильность страницы повышена за счет предотвращения "прыжков" layout-а (layout shifts), вызванных блоком Видео.

Также сделано множество других улучшений:

  • оптимизация запросов к базе данных
  • улучшенное кеширование
  • корректное порождение WP Cron
  • новый буфер вывода улучшений шаблонов (template enhancement output buffer), который открывает дорогу будущим оптимизациям, ранее невозможным.

Модернизация поддержки UTF-8

Новый fallback-пайплайн, написанный на PHP, позволяет WordPress 6.9 обрабатывать кодировку текста и работу с UTF-8 независимо от среды выполнения, что повышает надежность в разных окружениях WordPress и для тем и плагинов, которые работают с интернациональным контентом, эмодзи и подобным.

Обновленная обработка кеша запросов

Релиз 6.9 изменяет способ создания ключей кеша при кешировании запросов, выполняемых через WP_Query. Хотя persistent object cache drop-in плагины не должны быть затронуты, разработчикам и хостингам стоит обратить внимание на изменения и использовать четыре новые функции.

Удаление поддержки условной загрузки ассетов для IE

WordPress 6.9 удаляет поддержку подключения скриптов и стилей с помощью устаревших условных выражений, нацеленных на конкретные версии Internet Explorer. Все оставшиеся связанные проверки также удалены из дефолтных тем - работа, начатая в тикете #56699. Код, относящийся к Genericons, тоже был обновлен для тем, включавших этот веб-шрифт.

Доступность (Accesabilitty - A11y)

WordPress 6.9 включает 10 улучшений и 23 исправления багов, связанных с доступностью, предлагая новые и улучшенные уведомления для screen reader-ов, улучшенную семантику и управление фокусом, а также обновленный CSS для генерируемого контента, чтобы предотвратить "лишнее" прочтение контента.

Поддержка PHP 8.5

"beta support" для PHP 8.5, устранив все известные несовместимости, предупреждения и notice-сообщения, сохранив при этом поддержку старых версий PHP (сейчас 7.2 и выше). Напоминание: "beta support" - это ярлык для версий PHP с долей использования менее 10% среди всех WordPress-сайтов.

Разные изменения для разработчиков

Множество дополнительных обновлений для разработчиков улучшает как пользовательский опыт, так и опыт разработки. Эти изменения охватывают разные области Core WordPress, включая медиа, мультисайт, новые хуки и взаимодействия с браузером. По отдельности они мелкие, но вместе отражают непрерывные усилия по повышению удобства и предоставлению более предсказуемой и гибкой основы для разработчиков.

Разные изменения в редакторе

Релиз 6.9 также приносит ряд различных изменений в блок-редакторе, нацеленных на разработчиков. Обязательно прочитайте эту dev note, чтобы быть в курсе.

Обновленный поисковый запрос меню админки

В WordPress 6.9 поисковый запрос, используемый меню админки, изменился с $_SERVER['QUERY_STRING'] на $_GET. Это делает поведение поиска более предсказуемым и избегает проблем, связанных с зависимостью от сырой query string. Расширения, которые переопределяют или анализируют поведение поиска по меню админки, должны пересмотреть свои предположения о том, как извлекается значение поиска.

Дополнительная поддержка HTTPS в функциях экранирования URL

Функции esc_url[esc_url()](), esc_url_raw() и sanitize_url() теперь могут быть настроены так, чтобы по умолчанию добавлять https:// к URL, в котором отсутствует схема, если первым элементом массива $protocols является https.

Улучшенная обработка email и поддержка встроенных изображений

Несколько обновлений, делающих систему отправки email более надежной и гибкой для разработчиков. Функция wp_mail() теперь устанавливает адрес отправителя расширяемым способом, защищает кодировки заголовков между вызовами и более последовательно полагается на PHPMailer для обработки типа контента.

Многие давние баги, связанные с обработкой заголовков и форматированием сообщений, также были устранены.

Этот релиз также добавляет поддержку встроенных (inline и embedded) изображений в HTML-письмах, позволяя разработчикам отправлять более богатые шаблоны сообщений без необходимости полагаться на внешние URL изображений. Контент email, использующий ссылки вида cid:, теперь может рендерить изображения прямо внутри сообщения, открывая более чистые варианты для брендированных уведомлений, транзакционных писем и процессов, генерируемых плагинами.

AI-работа рядом с WP 6.9

PHP AI Client

Новый PHP AI Client SDK упрощает интеграцию AI-возможностей с плагинами и PHP-проектами. Интерфейс работает со всеми AI-провайдерами, а разработчики могут указывать, какие AI-abilities включать, какого провайдера и какую модель использовать. Учетные данные централизованно управляются и работают во всех совместимых плагинах.

Статья: PHP AI Client

MCP Adapter

Новый MCP Adapter использует Model Context Protocol (MCP), чтобы стандартизировать взаимодействие приложения с LLM, экспонировать abilities ассистентам AI и подключаться к другим MCP-серверам. Это позволяет WordPress выступать одновременно как сервер и как клиент, регистрируя свои способности через Abilities API, чтобы AI-ассистенты могли их обнаруживать и использовать, а также интегрироваться с другими MCP-серверами и использовать внешние AI-инструменты внутри WordPress.

Статья: MCP Adapter

И это еще не все!

  • Abilities API: Roadmap to WP 6.9: defining and deciding (AI-83)

  • Accessibility: Navigation block: исправление поведения клавиши Escape в подменю (GB-69834)

  • Editor: блок Button - добавление выбора HTML-элемента в настройках Advanced (доступность) (GB-70139)

  • Editor: включение Pallete команд во всей админке (GB-58218)

  • Editor: новые блоки в библиотеке блоков (GB-71026)

  • Editor: панель инструментов - корректировка цветов для поддержки темной темы (GB-66454)

  • General: замена устаревшего/нестандартного CSS для speak и aural (доступность) (GB-63603)

  • Global Styles: перенос кнопки Randomize colors в панель Edit Palette (GB-66169)

--

Источник: https://make.wordpress.org/core/2025/11/25/wordpress-6-9-field-guide/