Пользовательские поля в WordPress нужны, когда к записи, странице или товару нужно привязать дополнительную информацию: цену, дату события, автора материала, ссылку на источник, номер телефона, короткое описание или любой другой параметр, который не помещается в основной контент. Это удобный способ хранить структурированные данные без отдельной разработки плагина или сложной админки.
Если задача простая, custom fields можно использовать прямо в WordPress: добавить значение в записи и вывести его в шаблоне темы или через небольшой фрагмент кода. Ниже разберём, как это сделать на практике, какие есть варианты и где чаще всего ошибаются.
Что такое пользовательские поля и когда они действительно нужны
Пользовательское поле в WordPress — это пара «ключ-значение». Ключ остаётся постоянным, а значение меняется от записи к записи. Например, ключ event_date может хранить дату мероприятия, а price — стоимость товара или услуги.
Этот механизм полезен, когда информация должна:
- быть отдельной от основного текста;
- повторяться в одинаковом формате на многих страницах;
- выводиться в одном и том же месте шаблона;
- использоваться не только для отображения, но и для фильтрации, сортировки или интеграции с другими элементами сайта.
Если вам нужно просто вставить пару строк в текст статьи, пользовательские поля не обязательны. Но если данные должны быть структурированными и одинаково оформленными на десятках страниц, custom fields — правильный инструмент.
Как включить пользовательские поля в редакторе WordPress
В современных версиях WordPress блок «Пользовательские поля» может быть скрыт в редакторе. Его нужно включить вручную.
В редакторе записи или страницы откройте меню с тремя точками в правом верхнем углу, затем найдите раздел настроек и включите отображение пользовательских полей. После этого внизу или в боковой панели появится блок, где можно добавить новый ключ и значение.
Если вы работаете в классическом редакторе, блок обычно доступен сразу в метабоксе на странице редактирования записи. Если его не видно, проверьте настройки экрана.
Важно понимать: WordPress хранит пользовательские поля отдельно от основного контента, но сам по себе не показывает их на сайте. Чтобы значение появилось на фронтенде, его нужно вывести в шаблоне темы или через плагин, который умеет работать с custom fields.
Как добавить пользовательское поле к записи или странице
Самый простой сценарий — добавить поле вручную через админку. Это подходит, если вы не хотите сразу писать код и вам нужно проверить идею на одном материале.
- Откройте нужную запись, страницу или другой тип контента.
- Включите блок пользовательских полей, если он скрыт.
- Добавьте новый ключ, например
event_date. - Укажите значение, например
2026-10-28. - Сохраните запись.
После сохранения WordPress запишет это значение в метаданные записи. Для одной и той же записи можно добавить несколько полей: одно для даты, другое для цены, третье для ссылки.
Если вы планируете использовать поля системно, лучше заранее придумать единый формат ключей. Например, для события: event_date, event_location, event_price. Это упростит вывод и снизит риск путаницы.
Как вывести значение пользовательского поля в шаблоне
Чтобы показать custom field на сайте, в шаблоне темы используют функции WordPress для получения метаданных записи. Для одиночной записи это обычно делается через get_post_meta().
Ниже пример, который выводит значение поля event_date внутри шаблона записи. Код можно вставить в файл темы, где выводится нужный блок, например в single.php или в шаблон части записи.
<?php
$event_date = get_post_meta( get_the_ID(), 'event_date', true );
if ( ! empty( $event_date ) ) {
echo '<p class="event-date">Дата события: ' . esc_html( $event_date ) . '</p>';
}
?>Здесь важны две вещи. Во-первых, третий параметр true означает, что функция вернёт одно значение, а не массив. Во-вторых, вывод нужно экранировать через esc_html(), если значение показывается как обычный текст. Это базовая защита от некорректного вывода и лишнего HTML.
Если поле содержит URL, используйте esc_url(). Если это число, его лучше привести к нужному типу перед выводом, например через floatval() или intval(), в зависимости от задачи.
Как вывести пользовательское поле в нужном месте без правки шаблона
Не всегда удобно редактировать файлы темы. Если задача локальная и вы не хотите лезть в шаблоны, можно использовать плагин для вставки кода или блоков, но сам принцип остаётся тем же: WordPress должен получить значение поля и вывести его в нужном месте.
Для разработчика самый надёжный путь — создать небольшой шаблонный фрагмент в дочерней теме. Так вы не потеряете изменения после обновления основной темы. Если тема поддерживает хуки и фильтры, иногда можно вставить вывод через них, но это уже зависит от конкретной темы и её архитектуры.
Если вы используете конструктор или блоковую тему, иногда удобнее вывести значение через пользовательский HTML-блок с динамическим PHP не получится напрямую. В этом случае либо подключают соответствующий плагин для динамических данных, либо добавляют отдельный шаблонный блок в теме. Для обычного сайта без сложной логики проще и надёжнее использовать шаблон PHP.
Как работать с несколькими полями и не запутаться
Когда на сайте появляется несколько custom fields, проблема обычно не в WordPress, а в хаосе именования. Если ключи названы по-разному, потом сложно понять, что где хранится и как это выводится.
Практика, которая обычно работает без лишней сложности:
- используйте короткие и понятные ключи без пробелов;
- одинаково называйте поля для одного типа данных;
- храните дату в одном формате, а не в произвольном тексте;
- не смешивайте в одном поле разные сущности, например цену и валюту лучше разделить, если они могут меняться.
Если вы делаете сайт с повторяющимися карточками — например, мероприятия, услуги, кейсы, объекты недвижимости — custom fields быстро окупаются. Они позволяют не дублировать текст вручную и не править каждый блок отдельно.
Как проверить, что поле работает правильно
После добавления и вывода поля стоит проверить не только сам факт отображения, но и поведение в реальных сценариях.
Проверьте следующее:
- значение отображается только там, где нужно;
- пустое поле не создаёт пустой HTML-блок;
- при изменении значения в админке на сайте показывается новая версия;
- формат вывода соответствует типу данных: дата выглядит как дата, ссылка — как ссылка, число — как число.
Если значение не выводится, обычно причина одна из трёх: неверный ключ, поле не заполнено у текущей записи или код вставлен не в тот шаблон. Для проверки можно временно вывести результат var_dump( get_post_meta( get_the_ID(), 'event_date', true ) );, но после диагностики такой код нужно убрать, чтобы не показывать служебные данные посетителям.
Когда лучше использовать не ручной код, а готовое решение
Если вам нужно всего несколько полей для пары страниц, ручной способ с get_post_meta() обычно достаточно удобен. Но если полей много, они должны иметь разные типы данных, а редактору нужно заполнять их без риска ошибиться, лучше использовать специализированный плагин для произвольных полей или кастомных метабоксов. Это уже вопрос удобства администрирования, а не самого принципа работы.
Ручной код хорош тем, что он прозрачен: вы точно знаете, где хранится значение и как оно выводится. Но за удобный интерфейс ввода, валидацию и сложные группы полей часто отвечает отдельное решение. Выбор зависит от масштаба проекта и того, кто будет заполнять сайт после запуска.
Если задача сводится к хранению дополнительной информации о записях, страницах или товарах без тяжёлой разработки, пользовательские поля в WordPress — один из самых практичных вариантов. Сначала добавьте значение в админке, затем выведите его в шаблоне через get_post_meta(), и при необходимости оберните вывод в проверку на пустое значение. Так вы получите рабочую и предсказуемую схему без лишней сложности.