Выпуск WordPress 6.8 под кодовым названием "Cecil" содержит множество улучшений для разработчиков, включая обновления библиотеки блоков, повышение производительности и новые возможности для работы с паттернами. Эта версия продолжает совершенствовать инструментарий для создания тем и плагинов, предлагая более эффективные API и улучшенные рабочие процессы.

WordPress 6.8 для разработчиков - черный фон с белым логотипом WordPress и цифрами 6.8

Введение

WordPress 6.8 включает множество интересных возможностей для разработчиков. Как обычно, выбор того, с чего начать изучение, может быть непростым из-за обилия нововведений.

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

Без дальнейших предисловий давайте сразу перейдем к рассмотрению ключевых изменений.

Для получения подробной информации о каждом изменении для разработчиков обратитесь к официальному Руководству по WordPress 6.8 в блоге Make WordPress Core.

Более производительная регистрация типов блоков

WordPress 6.8 устраняет необходимость ручной регистрации типов блоков благодаря новой функции wp_register_block_types_from_metadata_collection(). Это обертка для файла blocks-manifest.php и функции wp_register_block_metadata_collection(), представленной в WordPress 6.7.

Поскольку все данные блоков хранятся в виде PHP в blocks-manifest.php, можно зарегистрировать все типы блоков плагина без чтения отдельных JSON-файлов. В целом, это более эффективный способ регистрации типов блоков — и да, его можно использовать и для регистрации отдельных типов блоков!

В WordPress 6.8 можно зарегистрировать все типы блоков с помощью этого вызова:

wp_register_block_types_from_metadata_collection(
    __DIR__ . '/build',
    __DIR__ . '/build/blocks-manifest.php'
);

Прочитайте заметку для разработчиков в блоге Make WordPress Core для получения дополнительной информации или чтобы узнать, как использовать это обратно-совместимым способом при поддержке старых версий WordPress.

Разделы Книги стилей и другие улучшения

Страница типографики в Книге стилей WordPress с наборами шрифтов слева и стилями заголовков справа

Одним из самых значительных улучшений в версии 6.8 является обновление интерфейса Книги стилей, которая разделяет настройки стилей на разделы. Как показано на скриншоте выше, можно видеть, как выбор набора шрифтов упрощает тестирование и предварительный просмотр типографики сайта.

Есть также несколько других заметных улучшений Книги стилей. Теперь она имеет собственный маршрут, что позволяет ссылаться на нее напрямую. Новый путь URL: /wp-admin/site-editor.php?p=%2Fstyles&preview=stylebook. Кроме того, поддержка Книги стилей была добавлена для классических тем.

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

Благодаря новым блокам и дополнительным способам использования существующих блоков, WordPress 6.8 предоставляет полезные улучшения библиотеки блоков, расширяющие возможности создания контента.

Новый блок: Query Total

Оранжевые рамки выделяют общие результаты и отображение диапазона в блоке Query Total в WordPress

WordPress 6.8 включает новый блок для предоставления посетителям информации о текущем запросе материалов: Query Total. Его следует использовать внутри существующего блока Query Loop, и он имеет два варианта отображения:

  • Общие результаты — отображает общее количество найденных результатов запроса.
  • Отображение диапазона — показывает текущие результаты, которые вы просматриваете, в диапазоне общих результатов.

Лайтбокс для галереи

Оранжевая рамка выделяет настройку расширения по клику в WordPress

WordPress 6.8 добавляет эффект лайтбокса для блока Gallery. Функция работает так же, как уже работает для отдельных блоков Image. Эффект лайтбокса настраивается на уровне Gallery путем нажатия кнопки Link на панели инструментов и выбора опции Enlarge on click.

Стоит отметить, что эта функция не создает лайтбокс-слайдшоу, в котором можно прокручивать все изображения галереи; она просто применяет существующую функцию лайтбокса к отдельным блокам Image.

Блок Details

Заголовок и описание в блоке Details WordPress

Теперь можно группировать несколько блоков Details вместе через HTML-атрибут name. Когда несколько элементов <details> используют одно и то же значение name, браузеры автоматически закрывают открытый элемент при открытии другого, создавая эффект аккордеона. Атрибут name можно установить в разделе Advanced → Name Attribute на боковой панели инспектора блоков.

Блок Details также получил поддержку HTML-якоря в WordPress 6.8. Он находится в разделе Advanced → HTML Anchor.

Полезные дополнения функций

WordPress 6.8 включает небольшие дополнения функций для нескольких других блоков, в том числе:

  • Блок Navigation Link теперь позволяет использовать любой неинтерактивный формат RichText внутри содержимого ссылки.
  • Блок Separator теперь можно установить как элемент <div> для случаев использования только в декоративных целях (стандартный <hr> предназначен для фактического тематического разрыва в содержимом).
  • Блок File теперь поддерживает редактирование только содержимого, что позволяет использовать его для заблокированных паттернов, при этом позволяя пользователю все равно редактировать его.
  • Блок Cover теперь можно установить на определенное разрешение изображения (также возможно при использовании миниатюры записи).
  • Блок Social Link теперь имеет вариацию блока Discord и связанную с ней иконку.
  • Блок Query Loop получил несколько полезных дополнений:
    • Можно сортировать страницы по порядку меню в порядке возрастания или убывания.
    • Также можно игнорировать закрепленные записи для пользовательских запросов.

Примечательные изменения CSS блоков

WordPress 6.8 включает несколько связанных с CSS изменений, которые вряд ли нарушат дизайн тем, но их стоит отметить как общие улучшения:

  • К блоку Buttons теперь применяется box-sizing: border-box, что обеспечивает согласованность с другими блоками.
  • Стили наложения блока Image теперь обрабатываются через директиву data-wp-bind--style, а не через встроенный тег <style>.

Инструменты дизайна расширены на большее количество блоков

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

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

Блоки Archives, Category, Content и Page List теперь поддерживают больше инструментов цвета. Многие блоки также получили поддержку границ:

  • Archives
  • Comments
  • Comments Link
  • Comments Count
  • Content
  • Latest Posts
  • Page List
  • Query Total
  • RSS

Блоки Content, Page List и RSS также теперь поддерживают инструменты дизайна интервалов.

Для получения полного списка поддержки инструментов дизайна ознакомьтесь с перечнем инструментов дизайна для каждого блока (издание WordPress 6.8).

Организация паттернов

Разработчики теперь могут организовывать паттерны более интуитивными и простыми способами.

Добавление паттернов в подпапки

Если вы поставляете много паттернов со своей темой, вы могли быть разочарованы казалось бы бесконечным, неорганизованным списком в папке /patterns.

В WordPress 6.8 можно организовать пользовательские паттерны в подпапках внутри /patterns, что упрощает навигацию.

Например, можно разделить паттерны заголовков и нижних колонтитулов в папке темы следующим образом:

/patterns
    /header
        centered.php
        default.php
    /footer
        default.php
        links.php

Категория стартовых паттернов

В пользовательском интерфейсе паттерны, которые были назначены типу блока core/post-content (метод регистрации стартового паттерна), появляются в категории Starter Content. Это идет рука об руку с другим обновлением, которое перечисляет все паттерны в инсертере.

Создатели контента, которые хотят предотвратить появление модального окна Starter Content для каждой новой страницы, могут отключить его с помощью переключателя в нижней части модального окна или через экран Editor → 3-dot-menu → Preferences.

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

Обновления API

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

Интерактивность

Директива wp-each была улучшена для лучшей обработки данных путем сначала проверки, является ли свойство итерируемым, вместо попытки напрямую вызвать его метод .map. Это позволит избежать ошибок при использовании неитерируемых значений.

Вы можете найти руководство по лучшим практикам для выпуска 6.8 в блоге Make WordPress Core. Следование этим лучшим практикам поможет поддерживать ваш код в актуальном состоянии с последними стандартами и лучше подготовит вас к будущим итерациям API.

Block Hooks

API Block Hooks получил два основных обновления. Первое расширяет механизм Block Hooks на содержимое записей, позволяя динамически вставлять подключенные блоки непосредственно в записи и страницы. Второе обновление позволяет Block Hooks работать с синхронизированными паттернами.

Безопасность: переход на bcrypt для хеширования паролей

Алгоритм, который WordPress использует для хеширования и хранения паролей пользователей в базе данных, изменился в WordPress 6.8 на bcrypt.

Ранее использовался phpass, но принятие bcrypt усиливает безопасность паролей, требуя значительно больше вычислительной мощности для взлома хешей паролей.

Если ваш плагин использует функции wp_hash_password() или wp_check_password(), он должен продолжать работать как ожидалось. Однако если вы напрямую работали с хешами phpass, вам потребуется обновить ваш код.

Прочитайте заметку для разработчиков об обновлении для получения более подробной информации. В записи также приведены подробности о новых функциях wp_fast_hash() и wp_verify_fast_hash() для хеширования случайно сгенерированной строки с достаточной энтропией.

Улучшения производительности

Наконец, WordPress 6.8 приносит некоторые полезные улучшения производительности для всех сайтов.

Спекулятивная загрузка

WordPress 6.8 представляет спекулятивную загрузку, которая позволяет поддерживающим браузерам предварительно загружать или предварительно отображать URL-адреса. Это может привести к почти мгновенному времени загрузки страниц, поскольку они загружаются до того, как пользователь перейдет на них.

Эта функция изначально была выпущена в апреле 2024 года как плагин Speculative Loading. С тех пор участники дорабатывали код, пока он не был готов к включению в ядро WordPress.

Новая функция поставляется с несколькими фильтрами для изменения работы спекулятивной загрузки:

  • wp_speculation_rules_href_exclude_paths: для исключения шаблонов URL из спекулятивной загрузки.
  • wp_speculation_rules_configuration: для изменения конфигурации спекулятивной загрузки.
  • wp_load_speculation_rules: для включения дополнительных правил спекулятивной загрузки.

Предупреждение о производительности useSelect

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

Фильтр для загрузки ресурсов блоков по требованию

До WordPress 6.8 фильтр should_load_separate_block_assets имел две обязанности:

  1. Загружать отдельные таблицы стилей для основных блоков вместо постоянной загрузки объединенной таблицы стилей wp-block-library, содержащей весь CSS блоков
  2. Загружать скрипты и стили по требованию в зависимости от того, используются ли они на конкретной странице

В версии 6.8 существует новый фильтр с именем should_load_block_assets_on_demand для второй цели определения того, когда загружать ресурсы. Исходный фильтр будет работать как и раньше, но рекомендуется фильтровать его только для переопределения того, следует ли разделять таблицы стилей.

Что вы создадите с WordPress 6.8?

WordPress 6.8 продолжает двигать программное обеспечение WordPress вперед с более чистыми API, улучшенной производительностью и лучшими инструментами для создания сайтов. Независимо от того, поставляете ли вы темы, поддерживаете плагин или просто исследуете возможности редактора блоков, этот выпуск сделает ваши рабочие процессы более эффективными, а код — более простым в поддержке.


 
4.4927536231884 1 1 1 1 1 (Оценок: 207)
4.4927536231884 207
Опубликовано: 05-04-2025

Вы не зарегистрированы, чтобы оставлять комментарии.