Skip to content

REST API, Abilities и JavaScript ​

REST API ​

Чтение ​

Группы с настройкой «Show in REST API» добавляют свойство acf к записям, рубрикам и пользователям в wp/v2.

  • По умолчанию значения без форматирования (ID), с типами как в ACF: числа и логические значения как есть, ID вложений и объектов — целые числа, пустые — null.
  • С ?acf_format=standard значения форматируются, но без закрытых данных:
    • связи — только на записи, доступные запрашивающему (ID, post_title, post_type, permalink);
    • пользователи — ID и display_name, email — только с правом list_users;
    • поля записей под паролем скрыты.

Запись ​

http
POST /wp-json/wp/v2/posts/12
Content-Type: application/json

{ "acf": { "rating": 4, "steps": [ { "step": "Один" } ] } }

Значения проверяются как в формах; неизвестные поля и неверные значения дают 400.

Служебные маршруты ​

Маршруты wpff/v1/* (группы, страницы настроек, типы записей, инструменты) доступны только администраторам.

Abilities API ​

В WordPress 6.9+ плагин регистрирует способности категории custom-fields. Они доступны через REST-маршруты wp-abilities/v1 и MCP-клиентам.

СпособностьВозвращаетПраво
wpff/list-field-groupsГруппы полей с полями и правилами размещения.Управление группами полей.
wpff/get-field-valuesЗначения объекта без форматирования. Вход: { "object_id": 12 }, "term_5", "user_3" или "option".Редактирование объекта.

Обе способности только читают данные.

JavaScript: хранилище wpff/fields ​

На экранах с полями, в том числе в редакторе блоков:

js
const price = wp.data.select( 'wpff/fields' ).getFieldValue( 'price' );
wp.data.dispatch( 'wpff/fields' ).setFieldValue( 'price', 1500 );
wp.data.subscribe( () => console.log( wp.data.select( 'wpff/fields' ).getFieldValues() ) );

setFieldValue поддерживает простые поля: текст, число, выбор, флажки, переключатели, да/нет, даты, цвет и визуальный редактор.

Типы полей со своими скриптами могут запускаться в новых строках, слушая jQuery-событие wpff:init на document. Аргумент события — новый контейнер.

GPL-2.0-or-later. Проект не связан с ACF и WP Engine.