Categories: Мнение

Быстрый старт блочной разработки тем с помощью генератора тем FSE

Блочные темы не сложны. Их структура почти настолько проста, что разработчикам вряд ли понадобится инструмент для создания пустой темы. Однако для тех, кто не знаком с тем, как создаются темы для предстоящей функции редактирования всего сайта (FSE), неплохо начать с шаблона.

В репозитории тематических экспериментов теперь есть новая пустая тема . Наряду с этим есть инструмент командной строки для создания копии этой темы с настраиваемым именем, автором и URI.

Идея не нова. Таких инструментов для создания темы в дикой природе существует масса. Однако пришло время для новых инструментов, ориентированных на блочную тематику.

Авторы тем, которые хотят создать новую блочную тему, должны клонировать копию репозитория Theme Experiments. Затем перейдите в эту папку с помощью инструмента командной строки и введите следующую команду:

php new-empty-theme.php

С этого момента нужно просто ответить на несколько вопросов и позволить инструменту выполнить работу по созданию новой папки темы.

Копаемся в созданной теме

На созданную тему особо не на что смотреть. Однако это тема, которая работает в новой системе редактирования всего сайта. После активации авторы темы могут начать работать с темой через экран редактора сайта (требуется плагин Gutenberg).

Есть одно исключение из того, что это рабочая тема. Загрузка части шаблона заголовка в настоящее время не работает. Конечно, я открыл заявку на эту проблему, которую команда разработчиков должна легко решить.

Структура файлов и папок тонкая по сравнению с традиционными темами. Он содержит все необходимое для запуска темы в Редакторе сайта. Включены следующие файлы и папки:

  • /assets
    – alignments-front.css
  • /block-template-parts
    – header.html
  • /block-templates
    – index.html
    -singular.html
  • experimental-theme.json
  • functions.php
  • index.php
  • readme.md
  • style.css

Даже они, вероятно, будут урезаны в будущем. В experimental-theme.jsonконечном итоге файл будет переименован в theme.json.

В настоящее время alignments-front.cssоколо 80 строк стандартного кода для обработки различных выравниваний блоков. Каждому автору темы не нужно воссоздавать весь этот код, который не должен сильно меняться между темами. Вот почему у Гутенберга есть открытый билет для предоставления стилей выравнивания во внешнем интерфейсе. Авторы темы смогут это перезаписать. Тем не менее, чем меньше файлов и строк придется создавать авторам тем кода, тем лучше.

Стандартный index.phpшаблон пуст. Теперь, когда блочные шаблоны хранятся в папках /block-templatesи, он больше не будет полезен для создания тем /block-template-parts. style.cssпросто содержит информацию о теме. Темы FSE в основном используются theme.jsonдля настройки стилей по умолчанию.

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

Моя единственная придирка к сгенерированной теме – это включение в functions.phpфайл подключаемой функции настройки темы , которая каким-то образом стала опорой основных тем, разрабатываемых на протяжении многих лет. Существуют API-интерфейсы для включения или отключения всего в таких функциях настройки, и у дочерних тем нет причин перезаписывать их оптом.

Если все пойдет по плану, то даже стандартная функция настройки темы может оказаться на рубеже. Эти функции обычно представляют собой список вызовов add_theme_support(). Долгосрочный план заключается в том, чтобы текущие поддерживаемые темами функции были либо включены по умолчанию для блочных тем, либо настраивались через theme.jsonфайл.

 

writer

Recent Posts

Плагин Delete Me для WordPress помогает владельцам веб-сайтов предоставить право на забвение GDPR

Поскольку до крайнего срока соблюдения GDPR ЕС осталось всего 178 дней , многие владельцы сайтов…

2 года ago

Команда Gutenberg наращивает юзабилити-тестирование в WordCamp US

Команда Gutenberg создаст станцию ​​тестирования удобства использования в WordCamp US, где посетители смогут принять участие…

2 года ago

Плагин распространителя теперь в бета-версии: новое решение для синдикации контента WordPress от 10up

Сегодня компания 10up опубликовала предварительную версию своего плагина Distributor , нового решения для синдикации контента…

2 года ago

Gutenberg 1.8 добавляет большую расширяемость для разработчиков плагинов

На этой неделе был выпущен Gutenberg 1.8 с несколькими заметными улучшениями, которые предоставят разработчикам плагинов…

2 года ago

Gutenberg 15.5 представляет экспериментальную поддержку разметки сетки

На этой неделе был выпущен Gutenberg 15.5 с новыми функциями и улучшениями возможностей полнофункционального редактирования…

2 года ago

DesktopServer 3.8.4 включает подарок сообществу

DesktopServer выпустил версию 3.8.4 своего программного обеспечения для локальной разработки. Эта версия включает в себя…

2 года ago