Advanced Custom Fields (ACF)
Что такое Advanced Custom Fields?
Advanced Custom Fields (ACF) — это плагин для WordPress, который позволяет создавать пользовательские поля, типы записей и таксономии через визуальный интерфейс без написания кода. В отличие от стандартных пользовательских полей WordPress, ACF предлагает более 30 типов полей (текст, изображение, галерея, repeater, flexible content) и встроенный конструктор сущностей, превращая CMS в гибкую систему управления структурированным контентом.
Как это работает?
ACF хранит данные полей в таблице wp_postmeta базы данных WordPress, а настройки типов записей и таксономий — в отдельной таблице wp_acf_post_types. При загрузке страницы плагин перехватывает вызовы функций get_field() или the_field() и извлекает соответствующие значения. Поля группируются в логические наборы (field groups) с правилами отображения: например, показывать группу полей только для определённого типа записей или для конкретных пользовательских ролей. Созданные через ACF типы записей и таксономии регистрируются в WordPress через стандартный API register_post_type() и register_taxonomy(), но без необходимости писать код в functions.php. ACF также поддерживает локальное JSON-хранилище, выгружая настройки полей и сущностей в файлы для синхронизации через Git, что ускоряет загрузку за счёт сокращения запросов к базе данных.
Метрики и стандарты
По состоянию на 2025 год ACF имеет более 2 миллионов активных установок, при этом 79% пользователей идентифицируют себя как разработчики. На WordPress.org плагин имеет рейтинг 4.6 из 5 на основе тысяч отзывов. При работе с крупными сайтами (сотни записей и десятки полей) стандартное хранение в wp_postmeta может приводить к замедлению запросов; рекомендованный индустриальный ориентир — при объёме более 10 000 записей с 20+ полями рассматривать переход на кастомные таблицы для поддержания производительности на уровне < 200 мс на сложный запрос. Созданные через ACF типы записей автоматически наследуют настройки производительности стандартного WordPress API.
Почему это важно для бизнеса?
Структурированные данные, создаваемые через ACF, напрямую влияют на SEO и конверсию: поисковые системы и AI-ответники (Google AI Overview, ChatGPT, Perplexity) лучше интерпретируют контент, когда он размечен по полям (цена, SKU, характеристики). Начиная с версии 6.8, ACF Pro автоматически генерирует структурированные данные Schema.org в формате JSON-LD, что повышает видимость в расширенных сниппетах и AI-поиске. Возможность создавать кастомные типы записей и таксономии без кода позволяет бизнесу оперативно запускать новые разделы сайта (каталоги, базы знаний, портфолио) без привлечения разработчика на каждый этап. Для интернет-магазинов это означает более точное отображение товаров в выдаче, для B2B-порталов — сбор дополнительных данных о клиентах через кастомные поля профилей, а для контентных проектов — создание гибких структур для любых типов материалов.
Пример применения
Сайт агентства недвижимости запускает каталог объектов. Через ACF администратор создаёт новый тип записи «Объект недвижимости» (ACF → Post Types), задавая название, иконку и поддержку миниатюр. Затем создаётся группа полей «Характеристики» с типами: число (цена), число (площадь), выпадающий список (количество комнат), текст (адрес) и галерея (фотографии). Отдельно через ACF → Taxonomies создаётся таксономия «Тип объекта» (квартира, дом, коммерция) с привязкой к этому типу записей. В результате редактор получает единый интерфейс для управления всей структурой каталога — добавление, редактирование и фильтрация объектов происходят без участия программиста. На фронтенде разработчик выводит поля через get_field() в карточках и фильтрах, а посетители могут сортировать объекты по цене и площади, видя расширенные сниппеты в поисковой выдаче.
Как это реализуется в WordPress?
Установка: плагин устанавливается через «Плагины → Добавить новый» поиском «Advanced Custom Fields». Доступны бесплатная версия (ACF) и Pro с дополнительными типами полей (Repeater, Flexible Content, ACF Blocks) и расширенными возможностями.
Создание пользовательских полей: после активации в админ-панели появляется раздел «Custom Fields». Администратор создаёт группу полей, добавляет нужные типы полей и настраивает правила отображения (тип записи, таксономия, роль пользователя, URL страницы).
Создание пользовательских типов записей (сущностей): Перейдите в ACF → Post Types и нажмите Add New. Заполните Plural Label (множественное имя), Singular Label (единственное имя) и Post Type Key — уникальный идентификатор (генерируется автоматически, но можно изменить, используя только латиницу, цифры, подчёркивания или дефисы, максимум 20 символов). Доступны настройки публичности (public), иерархичности (hierarchical), поддержки REST API (show_in_rest), иконки меню и поддержки различных функций (заголовок, редактор, миниатюра и т.д.). После сохранения новый тип записей появляется в боковом меню WordPress.
Создание пользовательских таксономий: Перейдите в ACF → Taxonomies и нажмите Add New. Заполните Plural Label, Singular Label и Taxonomy Key, а затем в разделе Post Types выберите, к каким типам записей будет привязана таксономия. Можно создавать иерархические (как рубрики) и неиерархические (как метки) таксономии.
Вывод на фронтенде: в файлах темы разработчик использует функции ACF: get_field(‘field_name’) для получения значения поля и the_field(‘field_name’) для прямого вывода. Типы записей и таксономии работают через стандартные функции WordPress (WP_Query, get_terms), но их данные хранятся и управляются через ACF.
AI-интеграция (ACF 6.8+): плагин интегрируется с WordPress Abilities API. Для созданных типов записей можно включить параметр allow_ai_access, позволяя AI-инструментам (Claude и другим) через MCP-адаптер управлять полями, типами записей и таксономиями. Для активации общей функциональности добавьте в functions.php фильтр: add_filter( ‘acf/settings/enable_acf_ai’, ‘__return_true’ ).
Оптимизация производительности: для крупных проектов рекомендуется использовать Local JSON — настройки полей и сущностей сохраняются в JSON-файлы в папке темы, сокращая количество запросов к базе данных. При масштабировании (тысячи записей с множеством полей) данные можно перенести в кастомные таблицы через хуки acf/save_post, acf/load_value, acf/update_value, сохраняя совместимость со стандартными функциями ACF.
Серверный уровень: плагин не требует специальной конфигурации Nginx или LiteSpeed. Основная нагрузка приходится на базу данных (таблицы wp_postmeta, wp_options, а также системные таблицы WordPress для типов записей и таксономий). Для высоконагруженных проектов рекомендуется хостинг с производительным MySQL/MariaDB и достаточным объёмом оперативной памяти.
Связанные понятия
- Пользовательские поля (Custom Fields) — метаданные, прикрепляемые к записям, страницам или пользователям WordPress для хранения дополнительной информации
- Пользовательский тип записи (Custom Post Type) — новый тип контента в WordPress (например, «Товары», «Проекты», «Отзывы»), создаваемый через ACF без кода
- Пользовательская таксономия (Custom Taxonomy) — классификатор для группировки записей (например, «Категории товаров», «Типы проектов»), создаваемый через ACF
- Группа полей (Field Group) — логический набор полей, объединённых общими правилами отображения и назначения
- Repeater Field — тип поля в ACF Pro, позволяющий создавать повторяющиеся наборы подполей (например, список характеристик товара)
- Flexible Content Field — тип поля в ACF Pro, предоставляющий возможность создавать гибкие макеты с произвольным набором блоков (для построения сложных страниц)
- ACF Blocks — PHP-фреймворк в ACF Pro для разработки кастомных блоков для редактора Gutenberg
- Schema.org /JSON—LD — стандарты разметки структурированных данных, которые ACF Pro 8+ может автоматически генерировать из пользовательских полей для улучшения SEO и AI-читаемости
- Local JSON — механизм ACF для хранения настроек полей и сущностей в JSON-файлах внутри темы, обеспечивающий версионность и ускорение загрузки
