Обновления фазы 3
Три последних сообщения на блоге Make Core расширяют дорожную карту сотрудничества фазы 3:
- Библиотека блоков планирует создать единую систему для всего, что нужно пользователю: блоков, шаблонов, типов записей, медиафайлов и многого другого – и организовать все это для плавного опыта как в редакторе, так и за его пределами.
- Дизайн администратора определяет несколько целей для современного, гибкого переработанного дизайна WordPress, который позволит создавать красивые пользовательские интерфейсы.
- Реальное сотрудничество: архитектура расширяет предыдущее обсуждение коллаборативных функций (ниже) общим контуром того, как архитектура будет работать в редакторе записей и сайтах.
Эти сообщения вышли вслед за первыми четырьмя, которые появились в начале лета. Если вы их пропустили, обязательно прочтите:
- Реальное сотрудничество описывает планы для одновременного сотрудничества, совместного редактирования, видимости коллег и снятия текущих ограничений на редактирование.
- Рабочие процессы представляют собой безшовное сотрудничество на всем процессе редактирования, от первого черновика до публикации и далее.
- Редакции предлагает полную переработку текущей системы в пользу той, которая работает с блоками и отслеживает изменения на каждом уровне данных, от стека сервера до последних изменений пользователя.
- Медиабиблиотека стремится расширить возможности управления медиафайлами, унифицировать интерфейсы и улучшить общие рабочие процессы.
Расширяемый вставщик медиафайлов
! https://developer.wordpress.org/news/files/2023/08/media-inserter-categories.jpg
Gutenberg 16.2 представил API registerInserterMediaCategory
для регистрации категорий вставщика медиафайлов. Это позволяет добавлять новую подкатегорию во вкладке Медиафайлы вставщика, которую можно использовать для многих целей: например, для добавления дополнительных типов медиафайлов или интеграции с сторонними сервисами. Я знаю, что вы придумаете еще больше.
Для получения дополнительной информации ознакомьтесь с документацией API в Руководстве по редактору блоков.
Поддержка ориентации вертикального текста
! https://developer.wordpress.org/news/files/2023/08/vertical-text.png
Новшество для ваших тем: поддержка ориентации вертикального текста в theme.json
. Просто установите settings.typography.writingMode
в true
, и блоки абзацев в пользовательском интерфейсе получат новый инструмент дизайна Ориентация текста. Вы можете установить его в горизонтальное или вертикальное положение.
Хотите сделать вертикальную ориентацию стилем блока абзаца по умолчанию? Установите styles [core/paragraph].typography.writingMode
в vertical-rl
.
Вы, вероятно, не очень часто будете устанавливать вертикальную ориентацию по умолчанию для каждого блока абзаца. Но это должно упростить создание шаблонов, в которых будет использоваться вертикальный текст для достижения эффекта.
Плагины и инструменты
Загрузка ресурсов и фрейм постового редактора
WordPress 6.3 теперь помещает контент редактора записей во фрейм, если все зарегистрированные блоки находятся на API версии 3. Если ваши темы и плагины используют рекомендуемые методы загрузки скриптов и стилей, у вас не должно быть проблем с этим.
Конечно, есть исключение (всегда есть, каким-то образом …) и это, если вы используете хук enqueue_block_editor_assets
, чтобы добавить скрипт/стиль, который специально нацелен на холст контента. Вы можете узнать, какие хуки и функции вам нужны, и почему, в Dev Note и в этом трекете на GitHub.
Переименована условная функция режима разработки
Функция wp_in_development_mode()
, добавленная во время цикла разработки WordPress 6.3, получила новое имя: [wp_is_development_mode()](<https://core.trac.wordpress.org/changeset/56249>)
для обеспечения согласованности с подобными функциями. Если вы тестировали это до выпуска 6.3, убедитесь, что вы обновили все экземпляры соответственно.
Новый компонент ProgressBar
В Gutenberg 16.4 новый [ProgressBar
компонент](https://github.com/WordPress/gutenberg/pull/53030) позволяет отображать пользователю прогресс в различных сценариях. В конечном итоге, например, панель будет заменять компонент Spinner
, когда редактор сайта загружается, но реализация этого еще не готова.
Обновления компонентов
Теперь компонент RangeControl
поддерживает большой размер входного числа 40px
. Этот размер появляется на нескольких ядровых экземплярах.
Вы также можете передавать свойство id
в компонент TextControl
. Это хороший способ ссылаться на него где-то еще с помощью атрибута aria-*
.
Стабилизированные API
Три экспериментальных API были стабилизированы в Gutenberg 16.4. Это означает, что они должны быть безопасными от проблем с обратной совместимостью, когда вы используете их в производстве:
defaultBlock
directInsert
getDirectInsertBlock
Минимальный процессор HTML
В рамках продолжающейся работы по более полному HTML API, выкатили минимальную версию HTML Processor. Эта функция нацелена на выпуск WordPress 6.4, но в тикете есть некоторое сопротивление в том, должна ли она вообще быть включена.
HTML Processor в настоящее время поддерживает только подмножество всех HTML-элементов. Это даст участникам время для тестирования, обзора и сбора обратной связи по первоначальной архитектуре.
Обновления API интерактивности и поддержка скрипта Create Block
Gutenberg 16.3 добавляет поддержку времени выполнения для директивы wp-style
. Кроме того, новый [gutenberg_should_block_use_interactivity_api](<https://github.com/WordPress/gutenberg/pull/52579>)
хук позволяет отключить поддержку API интерактивности для каждого блока по отдельности.
Участники также добавили шаблон для пакета @wordpress/create-block, чтобы помочь вам начать экспериментировать с настраиваемыми интерактивными блоками.
Обновления REST API
В REST API появился новый конечная точка для редакций глобальных стилей, функция, которая была добавлена в WordPress 6.3. Доступ к ней можно получить с помощью /wp/v2/global-styles/revisions
.
У WP_REST_Templates_Controller
есть новое поле [modified
](https://core.trac.wordpress.org/ticket/58540) для объектов шаблона и частей шаблона. Поле возвращает время изменения сообщения.
Темы
Фиксированная ширина для широких/полных блоков изображений
Элемент <img>
, вложенный в блок изображения, теперь имеет фиксированную ширину 100%
, когда он установлен на широкое или полное выравнивание. Проверьте это с вашими темами, чтобы убедиться, что эта изменение не ломает ваш дизайн.
Селектор границы аватара
Глобальный стилевой селектор для блока Аватара теперь направлен на обертку, а не на внутренний элемент <img>
. Таким образом, границы применяются на уровне блока, но это потенциальное нарушение дизайна в некоторых случаях, в зависимости от того, как вы стилизовали блок.
Обновления узоров
С WordPress 6.3 был запущен переработанный интерфейс навигации редактора сайта, который в основном помогает вашим пользователям управлять узорами и частями шаблонов. Тем не менее, вам следует посмотреть, какие изменения и как они работают, чтобы вы могли отвечать на вопросы поддержки. И особенно, если вы создаете темы из редактора сайта.
Самое главное изменение: пункт навигации Библиотека теперь называется Узоры. В этой панели находятся синхронизированные узоры (ранее переиспользуемые блоки), несинхронизированные узоры (их можно зарегистрировать пользователями, WordPress, темами и плагинами) и части шаблона (сгруппированные по области).
Некоторые связанные тикеты, которые стоит проверить:
- Метка Пользовательские узоры была переименована в Мои узоры.
- Добавлен статус синхронизации на экран деталей узора.
- Обновлены значки частей шаблона в мозаике библиотеки.
- Восстановлена страница Управление всеми частями шаблона.
- Добавлена иконка замка для тематических узоров.
- Отображение клиентской пагинации для списка узоров.
- Показывать дополнительные детали для панели частей шаблона.
Вспомогательная функция для получения узоров из каталога узоров
Если вы получали удаленные узоры через методы класса WP_Theme_Json_Resolver
, вам следует переключиться на функцию [wp_get_remote_theme_patterns()
](https://core.trac.wordpress.org/ticket/58460) теперь, когда WordPress 6.3 вышел. Класс является закрытым и помечен только для внутреннего использования WordPress. В отличие от него, вспомогательная функция предназначена для использования вами. Он обеспечит, что вы не столкнетесь с изменениями, которые нарушат обратную совместимость в будущем.
Лучшая поддержка заголовка запроса Query Title для архивов авторов
Блок Query Title всегда показывал общее название в редакторе сайта, но больше нет. Теперь, в Gutenberg 16.3, он контекстно показывает тип архива в тексте заполнителя. Например, он будет выводить «Категория: Имя» для общего шаблона категории, но «Категория: Рецепты» для шаблона category-recipes.html
.
Обновления библиотек блоков
Несколько блоков получили новые инструменты и функции:
- Сноски: добавлена поддержка фона, ссылок и цвета для инструментов дизайна.
- Предварительно отформатированный текст: добавлена поддержка интервалов.
- Социальные ссылки: добавлена новая икона социальной сети Threads.
- Стих: теперь при нажатии клавиши
Enter
создается перенос строки.
Технически подписи являются элементом, а не блоком. В любом случае, теперь вы можете управлять цветом и типографикой в интерфейсе Стили.
Исправления ошибок
Несколько исправлений были внесены в Gutenberg и WordPress, чтобы упростить вашу жизнь.
Вы можете стилизовать вложенные элементы для блоков в theme.json
. Вы могли это делать ранее, но ошибка препятствовала генерации стилей на фронтэнде.
Когда вы находитесь на главной странице сайта, блок ссылки на главную получает класс .current-menu-item
. Так работают другие ссылки.
Новая и улучшенная логика для кэширования результатов в wp_theme_has_theme_json()
учитывает, что сайт может менять тему.
Мероприятия и ресурсы
Часы разработчика
Часы разработчика в июле показали участникам, как стилизовать блоки с помощью пользовательских CSS-свойств и дать авторам тем доступ к результатам.
Learn WordPress
В июле Learn WordPress провел мастер-класс по WP-CLI для PHP-разработчиков. Если вы пропустили его или хотите посмотреть еще раз, он на WordPress.tv.
Также Learn опубликовал два новых учебника для разработчиков:
- Улучшение производительности сайта с помощью кэширования
- Установка Node.js и npm для локальной разработки WordPress
Блог разработчика
В прошлом месяце на блоге разработчиков было опубликовано несколько статей:
- Сделайте типографику своего сайта яркой
- Понимание и использование WordPress nonce
- Стилизация блоков: даем пользователям CSS-свойства
- Серия статей Beyond Block Styles:
Благодарности @bph за соавторство и работу над этими ресурсами, а также @marybaum и @ndiego за обратную связь и рецензирование.