Обзор
Создает новую группу полей ACF с полями и правилами расположения.
Описание
Создает новую группу полей в ACF с указанными заголовком, полями и правилами расположения. Группа полей автоматически включена для доступа AI.
Входные данные
{
"title": "Поля товара",
"fields": [
{
"label": "Цена",
"name": "price",
"type": "number"
}
],
"location": [
[
{
"param": "post_type",
"operator": "==",
"value": "product"
}
]
]
}
Обязательные свойства
title
(string) Заголовок группы полей.
fields
(array) Массив конфигураций полей. См. ниже Схема полей.
location
(array) Правила расположения, определяющие, где отображается группа полей. См. ниже Схема расположения.
Необязательные свойства
description
(string) Описание этой группы полей.
position
(string) Где показывать группу полей. По умолчанию: normal
– normal: Под редактором содержимого
– side: В боковой панели
– acf_after_title: После заголовка записи
style
(string) Стиль группы полей. По умолчанию: default
– default: Стандартный метабокс
– seamless: Без оформления метабокса
label_placement
(string) Где размещать подписи полей. По умолчанию: top
– top: Над полем
– left: Рядом с полем
instruction_placement
(string) Где показывать инструкции к полям. По умолчанию: label
– label: Под подписью
– field: Под полем
hide_on_screen
(array) Элементы, которые нужно скрыть на экране редактирования. Варианты: permalink, the_content, excerpt, custom_fields, discussion, comments, revisions, slug, author, format, page_attributes, featured_image, categories, tags, send-trackbacks
active
(boolean) Активна ли группа полей. По умолчанию: true
show_in_rest
(boolean) Показывать ли в REST API. По умолчанию: true
allow_ai_access
(boolean) Разрешать ли доступ AI. По умолчанию: true
ai_description
(string) Описание, помогающее AI понять назначение этой группы полей.
Схема полей
Каждое поле в массиве fields поддерживает следующие свойства:
| Свойство | Тип | Обязательно | Описание |
|---|---|---|---|
label | string | Да | Читабельная подпись поля |
name | string | Да | Имя поля (используется в коде) |
type | string | Да | Тип поля (см. ниже) |
instructions | string | Нет | Подсказка для редакторов |
required | boolean | Нет | Обязательное ли поле |
default_value | mixed | Нет | Значение по умолчанию |
placeholder | string | Нет | Текст-заполнитель |
conditional_logic | array | Нет | Правила условного отображения |
Поддерживаемые типы полей
Базовые: text, textarea, number, range, email, url, password
Содержимое: image, file, wysiwyg, oembed, gallery
Варианты выбора: select, checkbox, radio, button_group, true_false
Связанные: link, post_object, page_link, relationship, taxonomy, user
Макет: group, repeater, flexible_content, clone
jQuery: google_map, date_picker, date_time_picker, time_picker, color_picker
Схема расположения
Правила расположения — это вложенные массивы, представляющие логику И/ИЛИ:
[
[
{ "param": "post_type", "operator": "==", "value": "product" }
]
]
Внешний массив = группы ИЛИ, внутренний массив = условия И внутри группы.
Параметры расположения
| Параметр | Описание |
|---|---|
post_type | Слаг типа записи |
post_template | Файл шаблона страницы |
post_status | Статус записи |
post_format | Формат записи |
post_category | ID категории |
post_taxonomy | Термин таксономии |
page | ID конкретной страницы |
page_parent | ID родительской страницы |
page_type | Тип страницы (front, posts, top, parent, child) |
user_form | Форма пользователя (add, edit) |
user_role | Роль пользователя |
taxonomy | Экран таксономии |
options_page | Слаг страницы настроек |
Операторы
==: Равно!=: Не равно
Вывод
{
"success": true,
"field_group": {
"ID": 123,
"key": "group_abc123def456",
"title": "Поля товара",
"fields": [...],
"location": [...],
"active": true,
"allow_ai_access": true
},
"field_group_id": 123,
"message": "Группа полей 'Поля товара' успешно создана."
}
Аннотации
| Аннотация | Значение |
|---|---|
readonly | false |
destructive | false |
idempotent | false |
Права доступа
Требует capability ACF (по умолчанию: manage_options).
Пример
Создайте группу полей для типа записи Event:
{
"title": "Данные события",
"fields": [
{
"label": "Дата события",
"name": "event_date",
"type": "date_picker",
"required": true
},
{
"label": "Время события",
"name": "event_time",
"type": "time_picker"
},
{
"label": "Место проведения",
"name": "location",
"type": "text",
"instructions": "Введите название площадки и адрес"
},
{
"label": "Цена билета",
"name": "ticket_price",
"type": "number",
"default_value": 0
}
],
"location": [
[
{
"param": "post_type",
"operator": "==",
"value": "event"
}
]
],
"ai_description": "Поля для планирования события и информации о билетах"
}
Примечания
- Ключи полей автоматически генерируются, если не указаны
- Ключ группы полей автоматически генерируется на основе уникального идентификатора
- Вложенные поля (repeater, group, flexible content) рекурсивно поддерживают ту же схему полей
- Неверные типы полей или конфигурации возвращают WP_Error
Обновлено: 01.06.2026