Поле Text в ACF PRO для WordPress: настройка, вывод и практические сценарии
Если вы занимаетесь разработкой сайтов на WordPress и хотите сделать редактирование контента по-настоящему удобным — без «костылей» и лишнего HTML в редакторе, — плагин Advanced Custom Fields (ACF) PRO становится одним из главных инструментов в арсенале. Поле Text — самый простой и при этом один из самых востребованных типов полей в ACF. Оно идеально подходит для коротких, чистых текстовых значений: подзаголовков, артикулов, номеров телефонов, промокодов, слоганов и других данных, где важна точность и отсутствие форматирования.
Что такое поле Text и зачем оно нужно
Поле Text в ACF — это однострочное текстовое поле. В отличие от Textarea (многострочный текст) или WYSIWYG (редактор с форматированием), Text предназначен для коротких значений:
- подзаголовок;
- слоган или теглайн;
- артикул, SKU, код товара;
- номер телефона, e-mail;
- короткое описание для микроразметки.
Почему это удобно:
- Чистота данных. Нет лишнего HTML, переносов строк и стилей.
- Простота вывода. Достаточно одной строки кода.
- Гибкость. Можно использовать в заголовках, meta-тегах, микроразметке Schema.
Настройки поля Text в ACF
- Field Name — машинное имя (латиница, без пробелов, например:
service_subtitle). - Label — название для редактора (например: «Подзаголовок услуги»).
- Instructions — подсказка для редактора (например: «Введите короткий подзаголовок до 60 символов»).
- Required — если поле обязательно, включите.
- Default Value — значение по умолчанию (если уместно).
- Placeholder — текст-подсказка внутри поля (например, «Например: Быстро, качественно, надёжно»).
Практические сценарии использования
Подзаголовок к странице
Поле: .service_subtitle
Вывод в шаблоне:
<?php $subtitle = get_field('service_subtitle') ?>
<?php if(!empty($subtitle)): ?>
<h2 class="service-subtitle"><?php echo esc_html($subtitle) ?></h2>
<?php endif ?>Стандартный универсальный вывод поля. Сначала данные записываются в переменную $subtitle. Конструкцией if(!empty($subtitle)) мы проверяем заполнено ли поле, чтобы в случае пустого значения не получить в html пустого тэга: <h2></h2>. Конструкция esc_html($subtitle) экранирует данные и защищает от XSS-уязвимостей
Номер телефона в шапке
Поле: header_phone.
Вывод с ссылкой:
<?php $phone = get_field('header_phone') ?>
<?php if(!empty($phone)): ?>
<a href="tel:+<?php echo esc_attr($phone) ?>" class="header-phone">
<?php echo esc_html($phone) ?>
</a>
<?php endif ?> Конструкция esc_attr($phone) экранирует данные и защищает от XSS-уязвимостей
Значение для микроразметки (Schema)
Пример для Organization:
<?php $telephone = get_field('organization_telephone') ?>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"telephone": "<?php echo esc_js($telephone) ?>"
}
</script>Конструкция esc_js($telephone) экранирует данные и защищает от XSS-уязвимостей
Важные нюансы и лучшие практики
- Всегда экранируйте вывод. Хотя в последних версиях ACF PRO и присутствует нативная защита от XSS, все же критическии важные части сайта старайтесь защищать, используя
esc_html()для текста,esc_url()для ссылок,esc_js()для JSON. - Не храните форматирование в Text. Если нужен жирный текст или списки — используйте WYSIWYG или Textarea.
- Ограничьте длину. В инструкциях для редактора пропишите лимит (например, до 80 символов).
- Используйте понятные имена полей.
service_subtitle, а неfield_123. Это упростит поддержку. - Проверяйте наличие значения. Используйте
if(!empty()), не выводите пустые теги.
Частые ошибки и как их избежать
| Ошибка | Как исправить |
|---|---|
| Вывод без экранирования | Всегда используйте esc_html(), esc_attr() и т. п. |
| Хранение длинных текстов в Text | Используйте Textarea или WYSIWYG |
| Неинформативные имена полей | Делайте понятные machine names: seo_title, promo_code |
| Отсутствие инструкций для редактора | Пишите понятные подсказки в поле Instructions |
Заключение
Поле Text в ACF PRO— это простой, но мощный инструмент, который делает работу с контентом на WordPress предсказуемой и безопасной. С его помощью вы можете гибко управлять короткими текстовыми значениями, не перегружая редактор лишними опциями и не рискуя получить «мусорный» HTML. Главное — соблюдать базовые практики: понятные названия полей, чёткие инструкции для редакторов и обязательное экранирование при выводе.
Тема ACF PRO очень обширна, и поле Text — только начало: впереди ещё много интересных возможностей, другие типы полей: WYSIWYG для форматированного контента, Repeater для повторяющихся блоков, ACF Blocks для интеграции с Gutenberg, создание кастомных типов постов и таксономий, страниц настроек и многое другое. В следующей публикации на сайте мы разберём Textarea с поддержкой переносов, с такими же подробными примерами и готовыми решениями — подписывайтесь и следите за обновлениями, чтобы не пропустить новые гайды.
коментарии