ворд-пресс.рф
Плагин

Advanced Custom Fields (ACF): произвольные поля WordPress

Когда нужны произвольные поля ACF, как создать группу полей и безопасно вывести значение в шаблоне темы.

Условно-бесплатный Версия 6.8.10

Advanced Custom Fields (ACF) позволяет описать структурированные данные в WordPress через собственные поля и группы полей. Плагин полезен, если у карточки объекта, товара или публикации должны быть отдельные редактируемые характеристики, а не один большой текстовый блок. Первый шаг: создайте одну тестовую группу с текстовым полем и проверьте сохранение значения.

Когда ACF действительно нужен

Пример: у карточки книги есть автор, год издания и ISBN; у сотрудника — должность и отдел; у автомобиля — поколение и тип двигателя. Такие данные проще валидировать и выводить через именованные поля.

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

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

Создание группы полей

  1. На тестовом WordPress установите Advanced Custom Fields через официальный каталог и активируйте его.
  2. Откройте раздел ACF и создайте группу, например «Данные книги».
  3. Добавьте текстовое поле «Автор книги» с машинным именем book_author; задайте понятную подпись и рекомендации редактору.
  4. В условиях показа выберите конкретный тип записи, с которым работаете. Сохраните группу.
  5. Откройте запись нужного типа, введите имя автора и обновите запись. Перезагрузите редактор, убедитесь, что значение осталось.

Риск: ошибка в правилах показа или изменение имени поля может скрыть значение от редактора и шаблона. Проверка: у нужного типа записи поле видно и сохраняется; у ненужных типов оно не появляется. Перед массовым переименованием полей продумайте миграцию данных.

Вывод значения в PHP-шаблоне

Ниже минимальный пример для обычного текстового поля, размещённый в шаблоне темы внутри цикла WordPress. Используется документированная функция get_field(); вывод строки экранируется esc_html().

Пример требует проверки на вашей теме, установленной редакции ACF и типе поля. Не вставляйте PHP в редактор текста страницы.

<?php
if ( function_exists( 'get_field' ) ) {
    $book_author = get_field( 'book_author' );
    if ( is_string( $book_author ) && $book_author !== '' ) {
        echo '<p class="book-author">' . esc_html( $book_author ) . '</p>';
    }
}

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

Какие возможности относятся к Pro

Официальная страница ACF PRO относит к платной редакции, в частности, Repeater, Flexible Content, Gallery, Clone, ACF Blocks и Options Pages. Не описывайте эти возможности как стандартные функции бесплатного ACF. Набор функций и условия лицензии нужно перепроверять перед конкретной реализацией.

Безопасность данных и дальнейшее развитие

  • Уточняйте тип поля и формат возвращаемого значения: текст, массив, ID и URL требуют разной обработки.
  • Экранируйте вывод в контексте использования: esc_html() для текста, esc_url() для URL, esc_attr() для атрибутов.
  • Разграничивайте право редактировать запись и право изменять структуру полей.
  • Для интеграций и самостоятельных форм дополнительно проверяйте capabilities, nonce и санитарную обработку входных данных.
  • Не смешивайте разные сущности в одной группе только ради удобства заполнения.

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

Источники: ACF на WordPress.org и справочник get_field().

Технические сведения

Версия
6.8.10
WordPress
6.2+
PHP
7.4+
Проверено с WordPress
7.1.3
Разработчик
WP Engine
Последнее обновление
10.09.2026
Активные установки
2 000 000+
Рейтинг WordPress.org
4,5 / 5

Источник: WordPress.org ↗ · Данные проверены 20.10.2026 13:14

Актуальная история изменений на WordPress.org ↗

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

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