WordPress 6.4 был успешно выпущен 7 ноября 2023 года и является последним крупным выпуском в этом году.
Самое важное, что вам следует проверить, — это руководство по полям в WordPress 6.4. Он проведет вас через все основные изменения, о которых вам нужно знать в последней версии.
Большая часть этого выпуска нашего ежемесячного обзора будет включать изменения, которые уже появились в WordPress 6.4. Читайте дальше, если вы все еще играете в догонялки. Вы также узнаете о некоторых функциях, которые все еще находятся в разработке, поэтому обязательно установите и активируйте последнюю версию плагина Gutenberg, чтобы протестировать их.
Основные моменты
Поддержка переименования блоков для практически всех блоков
Два панели, показанные рядом друг с другом. Первый – поле “Переименовать” для настройки имени блока. Второй – представление списка в редакторе блоков с выделенным блоком, который будет переименован.
Начиная с Gutenberg 16.9, вы можете переименовывать практически любой блок в WordPress в пользовательском интерфейсе. Пользовательские имена блоков хранятся как метаданные в разметке блока, что означает, что они также могут быть перенесены в шаблоны. Используя эту новую функцию, вы можете значительно улучшить опыт пользователей, которые могут редактировать вашу тему в редакторе сайта.
Есть несколько особых блоков, где переименование отключено:
core/block
core/template-part
core/pattern
core/navigation
Экспериментальные блоки для форм и контактов
Экспериментальный блок формы с полями имени, электронной почты и комментария с кнопкой отправки в редакторе блоков.
Gutenberg 16.9 представил экспериментальные блоки core/form
и core/form-input
. Они могут потенциально стать основой для плагинов, которым в будущем понадобятся поля форм на фронтенде.
Gutenberg 17.0 добавил поддержку использования блоков Group и Columns в блоке Form.
Функционал находится на высокой степени экспериментальности в настоящее время и не готов для использования за пределами базового тестирования. Вы можете включить его через панель администратора Gutenberg > Эксперименты. Сейчас это идеальное время для разработчиков плагинов форм начать тестирование и принять участие в разработке.
Продолжается работа над представлениями данных
Редактор сайта WordPress просматривает подэкран “Все страницы”, на котором перечислены пять страниц в таблице. Есть несколько полей для организации страниц по различным метаданным.
Работа над переделанным дизайном администратора продолжается в плагине Gutenberg, особенно в области управления страницами и представлениями данных. Чтобы протестировать последние изменения, необходимо включить опцию New admin views на экране администратора Gutenberg > Experiments.
В плагине было внесено десятки изменений, слишком много, чтобы перечислить их в этом сообщении. Чтобы ознакомиться с изменениями в коде, посмотрите закрытые темы по представлениям данных в репозитории Gutenberg.
Переделка административного интерфейса будет значительным изменением в пользовательском опыте и в конечном итоге повлияет на множество плагинов в будущем обновлении WordPress. Эти изменения не те, на которых стоит спать. Важно проводить тестирование рано и часто, предоставляя обратную связь по ходу работы.
Основные изменения
Отключение страниц вложений для новых установок
С выпуском WordPress 6.4 страницы вложений отключены на новых установках. Повторяю: это касается только новых установок.
Внесено новое опцию в базу данных с именем wp_attachment_pages_enabled
, которая устанавливается в 0
для новых установок и 1
для существующих установок. Вы можете фильтровать эту опцию с помощью хуков [option_{$option}](<https://developer.wordpress.org/reference/hooks/option_option/>)
или [pre_option_{$option}](<https://developer.wordpress.org/reference/hooks/pre_option_option/>)
.
На фронтенде нет варианта включения страниц вложений через пользовательский интерфейс (за исключением скрытого экрана wp-admin/options.php
), но есть плагин, связанный с исходной темой Trac, для тех, кто хочет включить их для новых установок.
Устаревшие константы TEMPLATEPATH и STYLESHEET
Хотя константы TEMPLATEPATH
и STYLESHEETPATH
давно не рекомендуется использовать разработчиками, они все еще использовались в нескольких местах в ядре. WordPress 6.4 теперь официально отказался от их использования.
Это изменение не должно повлиять на темы в каталоге, так как Theme Check блокирует представление тем, если они используют эти константы. Если вы используете их в теме вне каталога или плагине, вам следует переключиться на их функциональные аналоги:
get_template_directory()
get_stylesheet_directory()
Плагины и инструменты
Переход от WordPress/Element к React
После обсуждения, начавшегося в августе 2023 года, разработчики решили использовать React напрямую вместо обертки @wordpress/element
в Gutenberg 16.8. Несколько документаций были обновлены для отражения этого изменения.
Фреймворк для редакций метаданных записи
В WordPress 6.4 был добавлен новый фреймворк для хранения редакций метаданных записи. Эта функция является необязательной, и для ее включения необходимо установить аргумент revisions_enabled
в функции register_post_meta()
. Также есть несколько доступных action и filter hooks для дальнейшей настройки работы с редакциями.
Новый слот PluginPostExcerpt
Gutenberg 16.9 представил новый слот <PluginPostExcerpt />
. Этот новый слот позволяет расширить панель Отрывка в редакторе записей для добавления пользовательских компонентов.
Новый компонент Tabs для замены TabPanel
В Gutenberg 16.9 был добавлен новый компонент [<Tabs />
](https://github.com/WordPress/gutenberg/pull/53960). Он заменяет существующий компонент <TabsPanel />
и имеет три подкомпонента:
Tabs.TabList
Tabs.Tab
Tabs.TabPanel
Пакет Create Block добавляет свойство transformer
В пакете Create Block теперь есть новое свойство transformer
. Это изменение позволяет настраивать шаблоны, предоставляя почти полный контроль над тем, как они могут использоваться для создания плагинов или блоков.
Получение данных пагинации с помощью getEntityRecords()
Начиная с Gutenberg 16.9, getEntityRecords()
возвращает общее количество элементов и страниц, когда вы вызываете эту функцию. Эти данные сохраняются в свойствах totalItems
и totalPages
. Эти данные также автоматически доступны через хук [useEntityRecords()
](https://developer.wordpress.org/news/2023/05/useentityrecords-an-easier-way-to-fetch-wordpress-data/).
Новые фильтрующие hooks для Filesystem API
В WordPress 6.4 были добавлены два новых фильтрующих hooks для Filesystem API, которые срабатывают при разархивации архива:
pre_unzip_file
позволяет прервать процедуру и запустить пользовательский процесс.unzip_file
выполняется после разархивации архива.
Новое поле block_hooks
В WordPress 6.4 было добавлено новое поле [block_hooks
](https://core.trac.wordpress.org/ticket/59346) для регистрации типа блока и REST API. Это поле было необходимо для введения нового Block Hooks API, функционала, который предоставляет механизм расширяемости для динамических блоков.
Обновления медиа/вложений
WordPress 6.4 включает несколько обновлений обработки медиа. Во-первых, было изменено название фильтрующего hook get_available_post_mime_types()
, который был введен ранее в ходе разработки. Теперь он называется pre_get_available_post_mime_types
для большей ясности. Убедитесь, что вы обновляете все ссылки на этот hook в своих плагинах, если вы уже использовали его.
Функция wp_get_loading_optimization_attributes()
теперь поддерживает произвольные контексты, а не только те, которые поддерживает сам ядро WordPress, что позволяет использовать пользовательские контексты при отображении изображений. Вместе с этим обновлением появился новый фильтрующий hook wp_loading_optimization_force_header_contexts
.
Также было добавлено два новых фильтрующих hooks, которые позволяют настраивать результаты функции wp_get_loading_optimization_attributes()
:
wp_get_loading_optimization_attributes
для настройки результатов после логики WordPress.pre_wp_get_loading_optimization_attributes
для прерывания функции и создания собственной логики.
Обновления HTML API
HTML API получил несколько обновлений в WordPress 6.4:
- Теперь вы можете использовать метод
[matches_breadcrumb()
](https://core.trac.wordpress.org/changeset/56702) для более точного запроса. - Добавлены два новых вспомогательных метода для обработки классов:
class_list()
иhas_class()
. - Метод
WP_HTML_Processor::createFragment()
был переименован вcreate_fragment()
в соответствии со стандартами кодирования WordPress. - При удалении атрибута процессор теперь правильно удаляет дубликаты.
Устаревания HTTP API
Если вы используете HTTP API, проверьте эти классы и хуки, которые были объявлены устаревшими в WordPress 6.4, и обновите свой код при необходимости:
- Классы
[WP_Http_Curl
иWP_Http_Streams
](https://core.trac.wordpress.org/ticket/58705) - Фильтрующий hook
[http_api_transports
](https://core.trac.wordpress.org/ticket/58705)
Обход кэша WP_Term_Query с новым параметром
WordPress 6.4 вводит параметр [cache_results
](https://core.trac.wordpress.org/ticket/52710) для класса WP_Term_Query
. Это изменение приносит его в соответствие с WP_Query
и WP_User_Query
, позволяя обходить кэш запросов.
Обновления страниц входа и регистрации
В WordPress 6.4 были внесены некоторые изменения на страницы входа и регистрации:
- URL
[/login.php
теперь является псевдонимом](https://core.trac.wordpress.org/changeset/56718) для страницы входа. - Были внесены несколько улучшений в HTML для сообщений и ошибок при входе и регистрации.
- Были добавлены новые CSS классы для ссылок на этих страницах:
.wp-login-log-in
.wp-login-register
.wp-login-lost-password
Если ваш плагин или тема настраивает эти страницы, убедитесь, что вы тестируете их работу с этими изменениями. Вы можете узнать больше об этих обновлениях в заметке разработчика.
Обновления KSES
Функция wp_trigger_error()
в WordPress 6.4 обрабатывает контент с помощью wp_kses()
с ограниченным набором HTML:
<a href>
(разрешены протоколыhttp
иhttps
)- “
<code>
<em>
<strong>
В список безопасных CSS свойств было добавлено свойство writing-mode
.
Темы
Удаление соотношений сторон
Gutenberg 16.9 удалил соотношения сторон 10:16 и 16:10 из всех экземпляров. Это не должно повлиять на большинство тем. Но вам следует проверить, использовали ли вы это соотношение сторон в каких-либо шаблонах или шаблонах для изображений.
Часть шаблона откатывается к активной теме
Если блок Части шаблона не имеет определенного атрибута theme
, он автоматически откатится к значению get_stylesheet()
(текущая активная тема).
Поддержка относительных единиц CSS уровня 4, связанных с видимостью
В Gutenberg 16.9 была введена широкая поддержка относительных единиц CSS, связанных с видимостью. По умолчанию они не отображаются, но вы можете включить их через свойство [settings.spacing.units](<https://developer.wordpress.org/themes/global-settings-and-styles/settings/spacing/#defining-allowed-spacing-units>)
в theme.json
. Единицы контейнерного запроса по-прежнему не поддерживаются, несмотря на практически такую же поддержку браузера (хотя их можно использовать при ручном определении предустановок для промежутков и размера шрифта).
Обновления шаблонов
Есть два изменения, о которых вам следует знать в процессе разработки:
- Добавлена новая таксономия
[wp_pattern_category
(связанная с типом записиwp_block
) для хранения созданных пользователями шаблонов. - Категория шаблона
media
была разделена на отдельные категории(https://github.com/WordPress/gutenberg/pull/55236) (уже существовала категория
gallery
).
Ниже приведены изменения в пользовательском интерфейсе, которые должны облегчить создание и тестирование шаблонов:
- Теперь в модальном окне создания шаблона доступен селектор категорий.
- Палитра команд имеет новые команды дублирования и переименования.
- Вы также можете переименовывать и удалять категории шаблонов в редакторе сайта.
Блок описания термина в WordPress
С версией 6.4 блок Описание термина был перенесен в WordPress, что означает, что вы можете начать использовать его в шаблонах и шаблонах темы. Ранее он был доступен только в плагине Gutenberg.
Исправление ошибок
Теперь вы можете насладиться несколькими исправлениями ошибок, которые были внесены в последних нескольких релизах Gutenberg:
- Исправлена CSS ошибка с элементами кнопки в функции Lightbox для классических тем.
- Добавлен текст заголовка для программ чтения экрана, и реализована альтернатива использованию хука
excerpt_more
, чтобы избежать замещения тем. - Улучшенный блок пагинации для блока Query Loop получил несколько исправлений:
- Поддержка макета и поддержка дуотонов работают с улучшенной пагинацией.
- Теперь блок использует существующий CSS-класс
screen-reader-text
для области улучшенной пагинацииaria-live
. - Улучшенная пагинация отключается, если она обнаруживает сторонние блоки.
События и ресурсы
Узнайте о WordPress
За последний месяц на сайте Learn WordPress появилось пять новых учебных руководств:
- Общие API – Интернационализация
- Применение дуотоновых фильтров для изменения цветовых эффектов
- Быстрая работа с палитрой команд
- Представляем тему Twenty Twenty-Four
- Изучение WordPress 6.4
Часы разработчика и встречи в коридоре
За последний месяц были проведены две прямые трансляции, посвященные разработчикам, и вы можете посмотреть их на WordPress TV:
- Часы разработчика: Изучение темы Twenty Twenty-Four
- Встреча в коридоре: Что нового для разработчиков в WordPress 6.4
Блог разработчика
Помимо нашего регулярного ежемесячного обновления в блоге разработчика, было опубликовано одно учебное руководство:
Источник: https://developer.wordpress.org/news/2023/11/whats-new-for-developers-november-2023/