
Регистрация блоков только через PHP в WordPress: новые возможности и упрощение разработки
4 марта 2026
Команда разработчиков WordPress Core представила важное обновление, которое существенно упрощает процесс регистрации блоков — теперь это можно делать исключительно средствами PHP, без необходимости создавать файл block.json.
Это изменение открывает новые возможности для разработчиков, особенно при работе с динамическими блоками и серверным рендерингом.
Что такое PHP-only регистрация блоков?
Традиционно регистрация блоков в WordPress требовала наличия файла block.json, который описывал метаданные блока: название, атрибуты, категорию, иконку и другие параметры. Начиная с нового подхода, разработчики получают возможность передавать все необходимые параметры напрямую через функцию register_block_type() в PHP-коде, минуя создание отдельного JSON-файла.

Пример регистрации блока с использованием нового подхода:
function gutenberg_register_php_only_blocks() {
register_block_type(
'my-plugin/example',
array(
'title' => 'My Example Block',
'attributes' => array(
'title' => array(
'type' => 'string',
'default' => 'Hello World',
),
'count' => array(
'type' => 'integer',
'default' => 5,
),
'enabled' => array(
'type' => 'boolean',
'default' => true,
),
'size' => array(
'type' => 'string',
'enum' => array( 'small', 'medium', 'large' ),
'default' => 'medium',
),
),
'render_callback' => function ( $attributes ) {
return sprintf(
'<div>%s: %d items (%s)</div>',
esc_html( $attributes['title'] ),
$attributes['count'],
$attributes['size']
);
},
'supports' => array(
'autoRegister' => true,
),
)
);
}
add_action( 'init', 'gutenberg_register_php_only_blocks' );
Ключевые преимущества нового подхода
- Упрощение структуры проекта — не нужно поддерживать отдельный
block.jsonфайл для простых блоков, особенно при серверном рендеринге. - Динамическая конфигурация — параметры блока можно формировать динамически в зависимости от настроек плагина, роли пользователя или других условий во время выполнения.
- Удобство для PHP-разработчиков — разработчики, работающие преимущественно с серверной частью, получают более привычный инструментарий без необходимости углубляться в экосистему JavaScript/Node.js.
- Ускорение прототипирования — быстрее создавать и тестировать блоки без настройки системы сборки.
- Совместимость — новый подход полностью совместим с существующей экосистемой WordPress и не ломает обратную совместимость.
Когда использовать PHP-only регистрацию?
Новый метод особенно актуален в следующих сценариях:
- Создание динамических блоков, которые полностью рендерятся на сервере.
- Разработка простых блоков без сложной логики на стороне редактора.
- Ситуации, когда конфигурация блока зависит от данных базы данных или настроек плагина.
- Быстрое создание прототипов и MVP без настройки инфраструктуры сборки JavaScript.
Сравнение с традиционным подходом через block.json
Важно понимать, что PHP-only регистрация — это дополнение, а не замена существующего подхода. Файл block.json по-прежнему остаётся рекомендованным способом для полноценных блоков с богатым редакторским интерфейсом, поскольку он обеспечивает:
- Автоматическую регистрацию скриптов и стилей.
- Поддержку интернационализации строк напрямую из JSON.
- Лучшую интеграцию с инструментами разработки, такими как
@wordpress/scripts. - Статический анализ и документирование API блока.
Технические детали реализации
Согласно обсуждению в GitHub Pull Request #8552, изменения затрагивают внутреннюю логику функции register_block_type() и связанных хелперов. Разработчики Core позаботились о том, чтобы новый способ регистрации корректно обрабатывал все стандартные параметры блока, включая атрибуты, supports, стили и скрипты.
Официальная документация по регистрации блоков в Block Editor Handbook уже обновлена с учётом нового подхода и содержит подробные примеры использования.
Что это значит для разработчиков плагинов и тем?
Для команд, разрабатывающих плагины с большим количеством блоков, новая возможность может значительно упростить кодовую базу. Вместо поддержки множества JSON-файлов можно централизованно управлять регистрацией блоков через PHP, используя циклы, условные операторы и другие возможности языка.
Разработчикам тем это нововведение также будет полезно при создании тематических блоков, параметры которых зависят от настроек кастомайзера или опций темы.
Итог
PHP-only регистрация блоков — это шаг навстречу разнообразным сценариям разработки в экосистеме WordPress. Команда Core продолжает работу по снижению порога вхождения и предоставлению разработчикам гибких инструментов.
Источник: https://make.wordpress.org/core/2026/03/03/php-only-block-registration/

