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

В первой части мини-курса разберём, что именно делает Advanced Custom Fields, как создать группу полей в панели WordPress и почему текст на экране ещё не означает, что поле уже появилось на сайте.

Что такое ACF простыми словами

У стандартной записи WordPress есть заголовок, текст, дата и другие обычные поля. ACF позволяет добавить к записи свои значения: например, автора книги, короткое описание, рейтинг или ссылку на магазин. В базе эти значения хранятся как метаданные записи, а редактор заполняет их через удобные элементы формы.

У ACF есть три важных понятия:

  • Поле — одно значение и его тип: текст, число, изображение, ссылка, переключатель и так далее.
  • Группа полей — набор связанных полей, например «Данные книги».
  • Правило показа — условие, которое говорит, где показывать группу: на записях, страницах, выбранном типе записей или другом объекте WordPress.

Сравнение с анкетой помогает запомнить разницу: группа — это анкета целиком, а поле «Автор» или «Цена» — отдельный вопрос в ней.

Установка ACF

В панели WordPress откройте Плагины → Добавить новый, найдите «Advanced Custom Fields», проверьте, что разработчик плагина — WP Engine, затем нажмите «Установить» и «Активировать». После активации в меню появится раздел ACF. Если поиск плагинов недоступен на вашем хостинге, используйте официальную инструкцию по установке ACF.

Создаём первую группу полей

После установки и активации ACF откройте в панели WordPress раздел ACF → Группы полей → Добавить новую (названия пунктов могут немного отличаться в зависимости от версии и перевода). Назовите группу «Данные книги» и добавьте в неё поля:

Подпись Тип Имя поля Зачем оно нужно
Автор Текст book_author Короткая строка с именем автора.
Кратко о книге Текстовая область book_summary Описание на несколько предложений.
Цена Число book_price Число для цены без символа валюты.
Обложка Изображение book_cover Изображение из медиатеки WordPress.

Подпись видит редактор, а имя поля используют PHP-функции и шаблон. Имя лучше задавать латиницей, в нижнем регистре, без пробелов: book_author. Это стабильный идентификатор. Если позже изменить подпись «Автор» на «Автор книги», код продолжит искать значение по имени поля.

Где появятся поля

В нижней части редактора группы задайте правило показа. Для упражнения выберите условие «Тип записи равен Запись». Сохраните группу, откройте любую запись и прокрутите редактор: там должна появиться форма с автором, описанием, ценой и обложкой.

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

Заполним пример и посмотрим на результат

В одной записи укажите автора «Мария Иванова», короткое описание, цену и изображение. Нажмите «Обновить». Значения сохраняются вместе с записью, но само наличие формы ещё не выводит поля в публичной части сайта. На этом этапе мы только подготовили структурированные данные.

Чтобы читатель увидел автора и цену, шаблон темы должен запросить поля через PHP и вставить их в разметку. Этим займёмся во второй части. Пока полезно проверить простую вещь: редактор может изменить значение в форме, а разработчик сохраняет контроль над тем, где и как оно выглядит.

Когда ACF помогает, а когда поле лишнее

Отдельное поле полезно, если его значение нужно повторно использовать или оформить особым образом: показать цену рядом с заголовком, вывести обложку в карточке, использовать ссылку в кнопке. Если это просто обычный абзац статьи, обычно достаточно стандартного редактора WordPress.

Создавайте поля с ясным назначением. Вместо одного поля «Всё о книге» заведите отдельные поля для автора, цены и ссылки. Тогда их легче проверить, вывести по отдельности и переиспользовать в другом шаблоне.

Короткая памятка

  • Поле хранит одно структурированное значение.
  • Группа объединяет связанные поля.
  • Правило показа определяет, где редактор увидит эту группу.
  • Значения сохраняются в записи, но для публичного вывода нужен шаблон.

В следующей части получим эти значения через get_field() и выведем карточку так, чтобы пустые поля не оставляли странных пробелов, а введённый текст не превращался в HTML-код страницы.

Содержание мини-курса

  1. ACF для новичков: создаём первые поля в WordPress
  2. Как вывести поля ACF в шаблоне WordPress: get_field() и PHP
  3. Как создать поля ACF кодом: регистрация группы на PHP
  4. Практика ACF: собираем карточку книги и проверяем шаблон

Документация