Собственный блок Gutenberg полезен, когда редактору нужен повторяемый компонент с понятными настройками и предсказуемой разметкой. Проще начать с официального генератора @wordpress/create-block, чем писать регистрацию и сборщик с нуля.
Что понадобится
- Локальная или тестовая установка WordPress с доступом к файлам.
- Node.js и npm, совместимые с актуальной версией
@wordpress/create-block. - Возможность активировать новый плагин в админке.
Для разработки блоков не используйте редактор файлов активной темы на рабочем сайте.
Создать каркас
В терминале, из папки плагинов локального WordPress или иной рабочей директории, выполните:
npx @wordpress/create-block@latest my-site-notice
cd my-site-notice
npm start
Команда создаёт плагин с файлами блока, включая block.json, исходные JavaScript-файлы и настройку сборки. Точный набор файлов зависит от версии генератора; ориентируйтесь на созданный проект, а не на старый скриншот учебника.
Роль основных файлов
block.json— имя, метаданные и параметры блока; имя должно иметь пространство имён вродеnamespace/block-name.src/edit.js— интерфейс блока в редакторе, если он есть в выбранном шаблоне.src/save.jsили серверныйrender.php— вывод на сайте, в зависимости от статического/динамического варианта.package.json— зависимости и командыstart,build.
Не редактируйте содержимое build/ вручную: оно генерируется командой сборки.
Проверить блок до релиза
- Установите и активируйте сгенерированный плагин на staging.
- Создайте запись, добавьте новый блок из списка блоков.
- Измените параметры и убедитесь, что редактор сохраняет документ.
- Проверьте результат на фронтенде без открытой админки.
- Завершите сборку:
npm run build
- Проверьте работу на мобильном экране и без сторонних визуальных расширений.
Типичные проблемы
В админке блок есть, на сайте пусто
Проверьте, динамический блок или статический, есть ли серверный рендер и не пропущена ли сборка. Откройте консоль разработчика и журнал WordPress: сообщения могут указывать на разные причины.
Редактор пишет «блок содержит непредвиденное содержимое»
Обычно сравниваются сохранённые данные и текущая функция save. Если разметка менялась, нужна миграция/депрекация атрибутов или переход к динамическому выводу с сохранением обратной совместимости.
Плагин зависит от активной темы
По возможности держите реализацию блока внутри плагина. В самой теме оставляйте только оформление.
Следующий шаг
После первого работающего блока добавляйте атрибуты, Inspector Controls и тесты. Для блоков с меняющимся серверным содержимым рассмотрите динамический рендеринг. Следуйте официальному quick start и подробному руководству.
Источник: https://developer.wordpress.org/block-editor/getting-started/quick-start-guide/
Материал был полезен?
Помогите нам сделать материалы точнее и понятнее.