Возможность: acf/create-field-group

Обзор

Создаёт новую группу полей 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 поддерживает следующие свойства:

СвойствоТипОбязательноеОписание
labelstringДаПонятная пользователю метка поля
namestringДаИмя поля (используется в коде)
typestringДаТип поля (см. ниже)
instructionsstringНетВспомогательный текст для редакторов
requiredbooleanНетОпределяет, является ли поле обязательным
default_valuemixedНетЗначение по умолчанию
placeholderstringНетТекст заполнителя
conditional_logicarrayНетПравила условного отображения

Поддерживаемые типы полей

Основные: 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

Схема расположения

Правила расположения представлены вложенными массивами, отражающими логику AND/OR:

[
  [
    { "param": "post_type", "operator": "==", "value": "product" }
  ]
]

Внешний массив = группы OR, внутренний массив = условия AND внутри группы.

Параметры расположения

ПараметрОписание
post_typeЯрлык типа записи
post_templateФайл шаблона страницы
post_statusСтатус записи
post_formatФормат записи
post_categoryID категории
post_taxonomyТермин таксономии
pageID конкретной страницы
page_parentID родительской страницы
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": "Группа полей 'Группа полей товаров' успешно создана."
}

Аннотации

АннотацияЗначение
readonlyfalse
destructivefalse
idempotentfalse

Разрешения

Требуется возможность 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.

Обновлено: 30.09.2026