Когда активен Field Forge, каждый ответ wp/v2/posts, wp/v2/pages и wp/v2/{custom_post_type} включает свойство fieldforge, содержащее значения пользовательских полей:
«`json GET /wp-json/wp/v2/posts/123
{ «id»: 123, «title»: { «rendered»: «О нас» }, «content»: { «rendered»: «…» }, «fieldforge»: { «hero_title»: «Добро пожаловать на наш сайт», «hero_subtitle»: «Создание лучших впечатлений с WordPress», «hero_image»: { «id»: 456, «url»: «https://example.com/hero.jpg», «alt»: «Герой изображения», «sizes»: { «thumbnail»: «https://…», «medium»: «https://…», «large»: «https://…» } }, «team_members»: [ { «name»: «Элис Джонсон», «photo»: { «id»: 234, «url»: «…», «alt»: «Элис» }, «bio»: «Элис это…» }, { «name»: «Боб Смит», «photo»: { «id»: 235, «url»: «…», «alt»: «Боб» }, «bio»: «Боб это…» } ] } } «`
Таким образом, большинство безголовых сайтов на WordPress используют пользовательские поля — получают пост, получают пользовательские поля в том же ответе, без дополнительных запросов.
Для продвинутых случаев использования Field Forge предоставляет свой собственный REST API по адресу /wp-json/fieldforge/v1/.
« GET /wp-json/fieldforge/v1/field-groups GET /wp-json/fieldforge/v1/field-groups/{id} POST /wp-json/fieldforge/v1/field-groups PUT /wp-json/fieldforge/v1/field-groups/{id} DELETE /wp-json/fieldforge/v1/field-groups/{id} «
Список, чтение, создание, обновление и удаление групп полей. Случаи использования: безголовые админ-панели, программная настройка групп полей, развертывание схем CI/CD.
« GET /wp-json/fieldforge/v1/fields/{post_id} PUT /wp-json/fieldforge/v1/fields/{post_id} «
Получите все значения полей для конкретного поста или обновите их. Ответ GET соответствует формату, возвращаемому в свойстве fieldforge основного REST API.
Пример: « GET /wp-json/fieldforge/v1/fields/123 «
«json { "post_id": 123, "field_group": "hero-section", "values": { "hero_title": "Добро пожаловать", "hero_image": { "id": 456, "url": "..." } } } «
« GET /wp-json/fieldforge/v1/options/{page_slug} PUT /wp-json/fieldforge/v1/options/{page_slug} «
Чтение и обновление значений страниц опций. Идеально для безголовых сайтов, которым нужны настройки для всего сайта (название компании, социальные URL, глобальные CTA).
« GET /wp-json/fieldforge/v1/schema GET /wp-json/fieldforge/v1/schema/typescript GET /wp-json/fieldforge/v1/schema/graphql «
Получите полную схему Field Forge в формате JSON, или в виде определений TypeScript, или как GraphQL SDL. Используйте в пайплайнах сборки фронтенда для автоматического синхронизирования типов.
« POST /wp-json/fieldforge/v1/import/acf POST /wp-json/fieldforge/v1/import/meta-box POST /wp-json/fieldforge/v1/import/cmb2 «
Запустите импорты из исходных плагинов через API. Полезно для скриптов настройки CI/CD.
« POST /wp-json/fieldforge/v1/generate «
Тело: «json { "description": "Герой секции с заголовком, подзаголовком, фоновым изображением и кнопкой CTA" } «
Возвращает сгенерированную группу полей, готовую к сохранению. Используйте в пользовательских админских инструментах или автоматизированных рабочих процессах.
REST API Field Forge использует родные механизмы аутентификации WordPress:
Если запрос поступает от авторизованного пользователя WordPress (например, ваша админ-панель делает AJAX вызовы), куки пользователя автоматически аутентифицируют запрос.
WordPress 5.6+ поддерживает пароли приложений — учетные данные API для каждого пользователя, которые можно сгенерировать в админке WordPress в разделе Пользователи → Редактировать → Пароли приложений. Используйте их для аутентификации безголового фронтенда:
«bash curl -u username:application_password https://wp.example.com/wp-json/fieldforge/v1/field-groups «
Если вы используете плагин аутентификации JWT (например, «JWT Authentication for WP REST API»), конечные точки Field Forge автоматически принимают JWT токены.
Для корпоративного использования конечные точки Field Forge совместимы с плагинами сервера WordPress OAuth 2.0.
REST конечные точки учитывают возможности WordPress:
read (обычно любой авторизованный пользователь)edit_post на целевом постеmanage_options (только администраторы)manage_optionsВы можете фильтровать их с помощью стандартных хуков возможностей WordPress, если вам нужны другие модели разрешений.
Field Forge экспонирует значения полей на основных конечных точках REST API WordPress как свойство fieldforge. Это рекомендуемый подход для безголовых фронтендов, потому что:
getStaticProps, Astro getStaticPaths и т.д.)Для большинства безголовых сайтов свойство fieldforge на основных конечных точках REST API — это все, что вам нужно. Специальные конечные точки Field Forge предназначены для продвинутых случаев использования.
Ответы REST API выигрывают от пользовательского хранения таблиц и пакетной загрузки Field Forge. Один запрос REST, получающий пост + пользовательские поля, выполняется в 1–2 SQL запросах вместо 20+.
Для конечных точек списка (/wp/v2/posts?per_page=20) авто-прелоадер Field Forge объединяет запросы пользовательских полей для всех 20 постов в один запрос, поддерживая быстрое время ответа даже для контентно-нагруженных представлений списков.
Field Forge поддерживает как REST API, так и интеграцию WPGraphQL. Используйте тот, который подходит вашему фронтенду:
Обе API экспонируют одни и те же базовые данные Field Forge.
Получите Field Forge — от $35/год →
REST API включен в каждый платный план. Значения полей на основных конечных точках REST API также доступны в бесплатной версии.