REST API — Экспонирование пользовательских полей для безголовых приложений | Field Forge - Произвольные поля, созданные для скорости
Скачать Войти

REST API — Экспонирование пользовательских полей для безголовых приложений

Два способа доступа к пользовательским полям

1. Встроенные в основные REST конечные точки

Когда активен 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 используют пользовательские поля — получают пост, получают пользовательские поля в том же ответе, без дополнительных запросов.

2. Специальные конечные точки Field Forge

Для продвинутых случаев использования 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.

Генерация AI

« 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 (например, «JWT Authentication for WP REST API»), конечные точки Field Forge автоматически принимают JWT токены.

OAuth 2.0

Для корпоративного использования конечные точки Field Forge совместимы с плагинами сервера WordPress OAuth 2.0.


Проверка прав

REST конечные точки учитывают возможности WordPress:

  • Операции чтения (GET): требуют возможности read (обычно любой авторизованный пользователь)
  • Операции записи (POST, PUT, DELETE) по полям: требуют возможности edit_post на целевом посте
  • CRUD группы полей: требуют возможности manage_options (только администраторы)
  • Импорт/миграция: требуют возможности manage_options

Вы можете фильтровать их с помощью стандартных хуков возможностей WordPress, если вам нужны другие модели разрешений.


Профессиональные значения полей на WP REST API

Field Forge экспонирует значения полей на основных конечных точках REST API WordPress как свойство fieldforge. Это рекомендуемый подход для безголовых фронтендов, потому что:

  • Один запрос получает данные поста + пользовательские поля (без проблемы N+1)
  • Стандартный формат REST API — без кривой обучения
  • Работает с клиентами WordPress REST API (библиотеки клиентов wp-rest-api на JS, PHP, Python и т.д.)
  • Совместим с генераторами статических сайтов (Next.js getStaticProps, Astro getStaticPaths и т.д.)

Для большинства безголовых сайтов свойство fieldforge на основных конечных точках REST API — это все, что вам нужно. Специальные конечные точки Field Forge предназначены для продвинутых случаев использования.


Производительность на REST API

Ответы REST API выигрывают от пользовательского хранения таблиц и пакетной загрузки Field Forge. Один запрос REST, получающий пост + пользовательские поля, выполняется в 1–2 SQL запросах вместо 20+.

Для конечных точек списка (/wp/v2/posts?per_page=20) авто-прелоадер Field Forge объединяет запросы пользовательских полей для всех 20 постов в один запрос, поддерживая быстрое время ответа даже для контентно-нагруженных представлений списков.


Комбинирование с GraphQL

Field Forge поддерживает как REST API, так и интеграцию WPGraphQL. Используйте тот, который подходит вашему фронтенду:

  • REST API — проще, работает с любым HTTP клиентом
  • GraphQL — более эффективно для глубоко вложенных запросов, лучшая типовая безопасность при комбинировании с GraphQL Code Generator

Обе API экспонируют одни и те же базовые данные Field Forge.


Готовы перейти на безголовые решения с пользовательскими полями WordPress?

Получите Field Forge — от $35/год →

REST API включен в каждый платный план. Значения полей на основных конечных точках REST API также доступны в бесплатной версии.

ИИ-ассистент Forge Онлайн

Привет! Я ИИ-ассистент Field Forge. Спрашивайте меня о чём угодно по плагину — настройка, возможности, устранение неполадок или разработка.

Только что
На базе Forge AI · Просмотр документации