ворд-пресс.рф
Решение

Как использовать ИИ с CPT и ACF в WordPress: контракты и поля

Практический разбор контрактов WordPress: пользовательские типы записей, ACF-поля, таксономии, валидация и подготовка материалов с Yandex AI Studio.

Yandex AI Studio Assistant 1.1.0 может учитывать структурированные данные WordPress: CPT, таксономии, группы ACF, зарегистрированные REST-метаполя и некоторые сведения о теме. Это помогает ИИ предлагать содержимое, которое соответствует формату карточки проекта, услуги, статьи или другого материала.

Для начала установите Yandex AI Studio Assistant и настройте API-ключ по инструкции. Исходный код доступен на GitHub.

Что означает «контракт сайта»

Контракт — это набор правил, по которым WordPress хранит материал: тип записи, поля, допустимые значения, таксономии и редакторские требования. Модель получает такую схему вместо предположений о том, как устроены шаблоны темы.

Например, у CPT portfolio могут быть поле client_name, числовое project_year, поле project_type с выбором из заданных значений и таксономия work_category. ИИ может подготовить текст и допустимые значения по этим правилам, но ему не разрешается произвольно создавать незарегистрированные метаполя.

Что плагин определяет автоматически

  • Выбранный тип записи, его возможности и доступные в админке таксономии.
  • Пример существующих терминов таксономий (не более 30 на таксономию).
  • Назначенные CPT группы ACF, их подписи, имена, ключи, типы, обязательность и ограничения.
  • Зарегистрированные REST-метаполя (только как справочную схему, без права произвольной записи).
  • Название темы, доступные названия шаблонов и названия части активных плагинов.
  • Дополнительные редакторские правила, явно опубликованные разработчиком через WordPress-фильтр.

Важно: имена шаблонов и плагинов — это не анализ их исходного кода. ИИ не узнаёт скрытые вычисления PHP, правила валидации сторонней CRM или требования сложного фронтенд-рендерера без описания со стороны разработчика.

Шаг 1. Проверьте CPT и ACF

  1. Убедитесь, что нужный CPT зарегистрирован и доступен в WordPress для создания записей администратором.
  2. Убедитесь, что ACF активирован, а группа полей назначена этому типу записи.
  3. Откройте Yandex AI → ИИ-помощник.
  4. В списке «Тип контента (контракт)» выберите свой CPT.
  5. Нажмите «Посмотреть контракт выбранного типа» и изучите выведенную схему JSON.
  6. Проверьте, что поля, ограничения и таксономии соответствуют реальным данным сайта.

Если нужная группа не появилась, проверьте правила её назначения в ACF. Некоторые условные, динамические и вложенные поля автоматически определяются не полностью.

Шаг 2. Учитывайте поддерживаемые типы полей

  • text, textarea — Что может сделать плагин: Предложить и сохранить очищенный текст
  • wysiwyg — Что может сделать плагин: Предложить и сохранить разрешённый HTML
  • number — Что может сделать плагин: Сохранить число с проверкой минимума и максимума
  • true_false — Что может сделать плагин: Сохранить логическое значение
  • select, radio — Что может сделать плагин: Сохранить одно значение, входящее в существующий список choices
  • repeater, flexible_content, gallery, relationship, group — Что может сделать плагин: Показать схему, но не сохранять значения автоматически

Другие поля, не найденные в доступной схеме или помеченные writable=false, модель заполнять не должна. Для сложного CPT всегда проверяйте обязательные поля вручную: тема может требовать данные, которые не описаны в ACF.

Шаг 3. Передайте задание с опорой на контракт

Выберите «Подготовить новую запись», укажите CPT portfolio и, например, запросите:

Подготовь карточку проекта для моего портфолио на основе предоставленных проверенных фактов. Учитывай контракт CPT и ACF. Не придумывай клиента, цифры и сроки. Если обязательных сведений не хватает, обозначь это в тексте, а не подставляй вымышленные значения.

Плагин просит модель подготовить структурированный JSON: заголовок, slug, описание, контент, поля Yoast и, если доступны, acf_fields и taxonomy_terms. Это не шаблон для ручного импорта — данные проверяются внутри плагина до сохранения.

Шаг 4. Проверьте предпросмотр и сохраните черновик

В предпросмотре проверьте значения полей и категорий, а также фактологию текста. Нажмите кнопку сохранения только после проверки. Плагин принимает только существующие ID терминов: новые рубрики и другие элементы таксономий автоматически не создаются.

При редактировании опубликованной записи создаётся отдельный черновик. Это не публикация правок поверх оригинала.

Шаг 5. Опишите собственные редакторские правила в коде темы или плагина

Если нужные правила не выражены типами ACF, разработчик может передать их в контракт через фильтр wpr_yai_extra_contract:

add_filter( 'wpr_yai_extra_contract', function ( $rules, $post_type ) {
    if ( 'portfolio' === $post_type ) {
        $rules['portfolio'] = array(
            'required_sections' => 'Описание задачи, решение, результат',
            'editorial_rules' => 'Не придумывать числа, награды и клиентов.',
            'template_notes' => 'Основной заголовок хранится в post_title.',
        );
    }
    return $rules;
}, 10, 2 );

Поместите код в свой технический плагин или дочернюю тему. Фильтр передаёт модели подсказку о правилах, но не расширяет список полей, доступных для записи, и не включает автоматический доступ к PHP/JS. Не размещайте там токены и персональные данные.

Практический чек-лист для сложного CPT

  • Поля, обозначенные как обязательные, должны быть проверены человеком до публикации.
  • Заголовки, slug и текст необходимо проверить на соответствие шаблону и редакторской политике.
  • select и radio должны содержать только значения choices, а категории — реально существующие ID.
  • Если шаблон зависит от repeater, галерей, связей между записями или изображений, заполните эти поля вручную.
  • После сохранения откройте черновик в редакторе и проверьте фронтенд-превью.
  • Не используйте вывод модели как достоверный источник чисел, лицензий, контактных данных или фактов.

Проблемы, которые не решаются контрактом

Контракт не собирает все записи сайта в векторную базу, не обходит тысячи URL, не анализирует метрики Яндекс.Метрики и не понимает произвольную логику плагина без описания. Для этих задач нужен отдельный индексатор, интеграция с аналитикой или явный API.

Где посмотреть исходники и документацию

Источник: https://github.com/noice-man/wp-yandex-ai-studio-assistant

Материал был полезен?

Помогите нам сделать материалы точнее и понятнее.