Обзор
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