Field Forge + Gutenberg — Интеграция блочного редактора | Field Forge - Произвольные поля, созданные для скорости
Скачать Войти

Field Forge + Gutenberg — Интеграция блочного редактора

Два способа использовать Field Forge с Gutenberg

1. Группы полей как метабоксы

Это стандартный подход к пользовательским полям WordPress. Создайте группу полей в визуальном редакторе Field Forge, назначьте ее с помощью правил местоположения для типа записи, и она появится как метабокс при редактировании записей этого типа.

В Gutenberg метабоксы могут быть:

  • Под областью контента — position=»normal» — под блочным редактором
  • В боковой панели — position=»side» — в боковой панели документа
  • В расширенном разделе — position=»advanced» — свернутый под основным редактором

Все три позиции работают нативно с Gutenberg. Редакторы заполняют значения полей так же, как и в классическом редакторе.

2. PHP-рендеренные блоки 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’); ?>

<img decoding="async" src="» alt=»»>

<?php } ```

Назначьте группу полей этому блоку с помощью правил местоположения:

« Правила местоположения: Блок равен "acf/hero-section" «

Когда редактор добавляет этот блок в запись Gutenberg, группа полей рендерится внутри панели инспектора блока. Редакторы заполняют поля, блок повторно рендерится с живым предварительным просмотром, а вывод на фронтенде поступает из PHP-обратного вызова.

Полная функция PHP блоков →


Автоопределение блоков FAQ

Field Forge автоматически определяет контент в стиле FAQ, созданный с помощью блоков Аккордеона или Подробностей Gutenberg. Когда запись использует эти блоки, Field Forge предоставляет их как структурированные данные для генерации схемы FAQ (это интеграция между плагинами с SEO Forge).

Вам не нужно вручную регистрировать поля FAQ — Field Forge считывает структуру блока и делает данные доступными программно.


Интеграция шаблонов блоков

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


Совместимость с полным редактированием сайта (FSE)

Для сайтов, использующих режим полного редактирования сайта WordPress (блочные темы с редактором сайта), Field Forge работает нормально:

  • Группы полей рендерятся в редакторах записей блочной темы
  • Пользовательские блоки Gutenberg, зарегистрированные через acf_register_block_type(), работают в редакторе сайта
  • Части шаблона могут включать блоки на базе Field Forge
  • Глобальные стили интегрируются с блоками Field Forge через конфигурацию supports

Динамические блоки с InnerBlocks

Для более сложных шаблонов блоков комбинируйте блоки 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

Если у вас есть существующие вызовы acf_register_block_type() в вашей теме, они продолжают работать без изменений после миграции от ACF к Field Forge. Совместимый слой реализует acf_register_block_type() с той же сигнатурой, перенаправляя внутреннюю регистрацию блоков Field Forge.

Изменения кода не требуются. Ваши блоки Gutenberg продолжают рендериться через PHP-обратные вызовы, которые используют get_field() — который теперь разрешается в хранилище Field Forge вместо ACF.


Готовы использовать Field Forge в блочном редакторе?

Получите Field Forge — от $35/год →

Интеграция с Gutenberg включена в каждую версию Field Forge, включая бесплатную.

ИИ-ассистент Forge Онлайн

Привет! Я ИИ-ассистент Field Forge. Спрашивайте меня о чём угодно по плагину — настройка, возможности, устранение неполадок или разработка.

Только что
На базе Forge AI · Просмотр документации