Это стандартный подход к пользовательским полям WordPress. Создайте группу полей в визуальном редакторе Field Forge, назначьте ее с помощью правил местоположения для типа записи, и она появится как метабокс при редактировании записей этого типа.
В Gutenberg метабоксы могут быть:
Все три позиции работают нативно с Gutenberg. Редакторы заполняют значения полей так же, как и в классическом редакторе.
Здесь Field Forge становится более интересным для разработчиков. Вы можете регистрировать пользовательские блоки Gutenberg с помощью PHP-рендер-обратных вызовов, где рендер-обратный вызов имеет полный доступ к пользовательским полям через get_field().
Это тот же подход, который популяризировал ACF Pro с помощью acf_register_block_type() — и Field Forge поддерживает точно такую же сигнатуру функции для совместимости при миграции.
«`php add_action(‘init’, function() { if (function_exists(‘acf_register_block_type’)) { acf_register_block_type([ ‘name’ => ‘hero-section’, ‘title’ => ‘Геройский раздел’, ‘description’ => ‘Геройский раздел с заголовком, подзаголовком и CTA.’, ‘render_callback’ => ‘render_hero_section_block’, ‘category’ => ‘theme’, ‘icon’ => ‘cover-image’, ‘keywords’ => [‘герой’, ‘раздел’], ‘supports’ => [ ‘align’ => [‘wide’, ‘full’], ‘anchor’ => true, ], ]); } });
function render_hero_section_block($block) { $title = get_field(‘title’); $subtitle = get_field(‘subtitle’); $background_image = get_field(‘background_image’); ?>
<?php } ```
Назначьте группу полей этому блоку с помощью правил местоположения:
« Правила местоположения: Блок равен "acf/hero-section" «
Когда редактор добавляет этот блок в запись Gutenberg, группа полей рендерится внутри панели инспектора блока. Редакторы заполняют поля, блок повторно рендерится с живым предварительным просмотром, а вывод на фронтенде поступает из PHP-обратного вызова.
Field Forge автоматически определяет контент в стиле FAQ, созданный с помощью блоков Аккордеона или Подробностей Gutenberg. Когда запись использует эти блоки, Field Forge предоставляет их как структурированные данные для генерации схемы FAQ (это интеграция между плагинами с SEO Forge).
Вам не нужно вручную регистрировать поля FAQ — Field Forge считывает структуру блока и делает данные доступными программно.
Группы полей Field Forge могут использоваться внутри шаблонов блоков. Сохраните многоразовый шаблон, который включает пользовательский блок на базе Field Forge, и редакторы могут вставить шаблон в любую запись, чтобы мгновенно получить предварительно настроенный блок с прикрепленными пользовательскими полями.
Для сайтов, использующих режим полного редактирования сайта WordPress (блочные темы с редактором сайта), Field Forge работает нормально:
acf_register_block_type(), работают в редакторе сайтаsupportsДля более сложных шаблонов блоков комбинируйте блоки Field Forge с компонентом Gutenberg :
«`php acf_register_block_type([ ‘name’ => ‘two-column-with-fields’, ‘render_callback’ => ‘render_two_column_block’, ‘supports’ => [ ‘inner_blocks’ => true, ], ]);
function render_two_column_block($block) { $sidebar_title = get_field(‘sidebar_title’); $sidebar_content = get_field(‘sidebar_content’); ?>
<?php } ```
Область боковой панели управляется пользовательскими полями, основная область — стандартные блоки Gutenberg. Пользователи получают лучшее из обоих миров.
Значения полей Field Forge загружаются через объектный кэш при первом рендере блока, а последующие рендеры на той же странице являются попаданиями в кэш. Для страниц с несколькими пользовательскими блоками это означает один запрос к базе данных на уникальное поле, независимо от того, сколько блоков его использует.
В сочетании с пользовательским хранением таблиц страницы Gutenberg с множеством блоков на базе Field Forge загружаются быстрее, чем эквивалентные страницы на базе ACF.
Если у вас есть существующие вызовы acf_register_block_type() в вашей теме, они продолжают работать без изменений после миграции от ACF к Field Forge. Совместимый слой реализует acf_register_block_type() с той же сигнатурой, перенаправляя внутреннюю регистрацию блоков Field Forge.
Изменения кода не требуются. Ваши блоки Gutenberg продолжают рендериться через PHP-обратные вызовы, которые используют get_field() — который теперь разрешается в хранилище Field Forge вместо ACF.
Получите Field Forge — от $35/год →
Интеграция с Gutenberg включена в каждую версию Field Forge, включая бесплатную.