Что нового для WP-разработчиков? (Август 2023)

Обновления фазы 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.

Обновления библиотек блоков

Несколько блоков получили новые инструменты и функции:

Технически подписи являются элементом, а не блоком. В любом случае, теперь вы можете управлять цветом и типографикой в интерфейсе Стили.

Исправления ошибок

Несколько исправлений были внесены в Gutenberg и WordPress, чтобы упростить вашу жизнь.

Вы можете стилизовать вложенные элементы для блоков в theme.json. Вы могли это делать ранее, но ошибка препятствовала генерации стилей на фронтэнде.

Когда вы находитесь на главной странице сайта, блок ссылки на главную получает класс .current-menu-item. Так работают другие ссылки.

Новая и улучшенная логика для кэширования результатов в wp_theme_has_theme_json() учитывает, что сайт может менять тему.

Мероприятия и ресурсы

Часы разработчика

Часы разработчика в июле показали участникам, как стилизовать блоки с помощью пользовательских CSS-свойств и дать авторам тем доступ к результатам.

Learn WordPress

В июле Learn WordPress провел мастер-класс по WP-CLI для PHP-разработчиков. Если вы пропустили его или хотите посмотреть еще раз, он на WordPress.tv.

Также Learn опубликовал два новых учебника для разработчиков:

Блог разработчика

В прошлом месяце на блоге разработчиков было опубликовано несколько статей:

Благодарности @bph за соавторство и работу над этими ресурсами, а также @marybaum и @ndiego за обратную связь и рецензирование.

Фото аватара
Evgeniy Rezanov
Статей: 7

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *