Ключевые понятия ACF Blocks в WordPress

Обзор

ACF Blocks позволяет создавать блоки поверх системы блоков WordPress, представленной в WordPress 5.0 «Bebo», и получать доступ ко многим тем же возможностям, что и у базовых блоков, но с выводом, отрендеренным из PHP-шаблона. ACF Blocks очень гибкие: вы можете задавать атрибуты, стили блока и вариации блока. Затем вы можете собирать свои ACF Blocks в паттерны, шаблоны и части шаблонов, сохранять их как синхронизированные паттерны и расширять их, чтобы включать стили WordPress.

Глубокое понимание Руководства по редактору блоков значительно расширит то, что вы можете создать с помощью ACF Blocks, но вам не обязательно читать его целиком, чтобы начать. Ниже мы выделяем несколько ключевых моментов, о которых стоит помнить при работе с блоками.

Основные термины

Ниже перечислены распространённые термины, которые мы будем использовать, чтобы при необходимости различать API блоков ядра WordPress и API ACF Blocks:

  • ACF Block(s): Обозначает расширения API продукта ACF, которые в основном используют и строятся поверх API блоков ядра WordPress.
  • WordPress core block(s): Относится к нативным и базовым API WordPress для блоков, на которых построена большая часть ACF Blocks. Блоки ядра WordPress в основном написаны на React.
  • Block(s) or block(s): Когда термин используется без префикса «ACF» или «WordPress core», он относится к общей концепции и более низкоуровневым API, используемым как блоками ядра WordPress, так и ACF Blocks, а также к итоговому выводу блока.

Что нужно помнить

  • Данные блока сохраняются в таблице базы данных post_content в виде сериализованного HTML. Это отличает их от метабоксов, которые сохраняют данные в таблицу postmeta.
  • Для регистрации свойств каждого блока в WordPress требуется файл block.json. Это точка входа для каждого нового типа блока.
  • Нативные блоки WordPress могут быть статическими или динамическими. ACF Blocks — это пользовательский тип динамического блока, который рендерится ACF на сервере и позволяет использовать логику PHP.

Элементы ACF Blocks

Когда речь идёт об ACF Blocks, есть три обязательных элемента: файл block.json, файл PHP и файл CSS. На самом деле файл CSS необязателен, поскольку ваш блок может наследовать стили от темы, но он понадобится, если вы хотите добавить уникальное оформление. У большинства ACF Blocks также есть связанная с ними группа полей ACF, что позволяет блоку ACF получать данные из полей. Однако это не является обязательным условием для создания ACF Block.

ACF Blocks и block.json

И базовые блоки WordPress, и ACF Blocks регистрируют свои свойства в файле block.json, чтобы определить настройки, стили и метаданные. Процесс очень похож на тот, что используется для блоков ядра WordPress, но с добавлением ключа конфигурации acf.

Переменные блока (или параметры для callback-функций) в PHP

При создании ACF Block вы по умолчанию получаете доступ к данным о своём блоке либо через переменные, доступные в шаблоне, либо через параметры, передаваемые в callback-функцию. Новые параметры определяются точно так же, как и в любом другом PHP-файле шаблона.

  • $block (array) Настройки и атрибуты блока.
  • $content (string) Внутренний HTML блока (пусто).
  • $is_preview (boolean) True во время предпросмотра в админке, то есть при рендеринге внутри содержимого редактора блоков или при рендеринге в редакторе блоков во время добавления нового блока, когда показывается предпросмотр при наведении на новый блок. Эта переменная устанавливается в true только если is_admin() и текущий экран is_block_editor() оба возвращают true.
  • $post_id (integer) ID записи в текущем контексте. Это будет страница/запись, к которой привязан блок, или, если блок используется в шаблоне, синхронизированном паттерне или блоке цикла запросов, это будет post_id элемента, который отображается в данный момент.
  • $context (array) Контекст, переданный блоку записью или родительским блоком.

Для render callback-процедур параметры передаются в следующем порядке:

callback_function( $block, $content, $is_preview, $post_id, $wp_block, $context );

Обновлено: 01.06.2026