Как добавить пользовательские поля в WordPress и вывести их в шаблоне

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

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

Что такое пользовательские поля в WordPress

Пользовательское поле — это пара «ключ и значение», привязанная к записи, странице или другому типу контента. Ключ — это имя поля, например price или source. Значение — конкретные данные: 1990, 2026-10-01, Яндекс.

На практике это удобно, когда у записи есть дополнительная структурированная информация, которую не стоит прятать в текст статьи. Например:

  • цена товара или услуги;
  • дата публикации события;
  • источник новости;
  • статус заявки или проекта;
  • короткая метка для вывода в карточке.

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

Как добавить пользовательское поле в админке WordPress

В классическом редакторе WordPress блок пользовательских полей обычно можно включить через настройки экрана. В редакторе блоков Gutenberg этот блок тоже доступен, но в некоторых установках он скрыт по умолчанию.

Чтобы добавить поле вручную:

  1. Откройте нужную запись или страницу в админке.
  2. Включите блок «Пользовательские поля», если он не виден.
  3. Добавьте новое поле.
  4. Укажите ключ, например price.
  5. Введите значение, например 1990.
  6. Сохраните запись.

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

Для проверки после сохранения откройте ту же запись снова и убедитесь, что поле осталось в списке. Если значение пропадает, проблема чаще всего не в шаблоне, а в том, что запись не была сохранена или поле добавлено не в тот объект контента.

Как вывести значение пользовательского поля в шаблоне

Самый прямой способ — получить значение через get_post_meta() и вывести его в нужном месте шаблона. Обычно это делают в файлах темы: single.php, content-single.php, шаблоне карточки записи или в части шаблона, которая отвечает за мета-информацию.

Для одного поля код выглядит так:

<?php
$price = get_post_meta( get_the_ID(), 'price', true );
if ( $price !== '' ) {
    echo '<p class="post-price">' . esc_html( $price ) . '</p>';
}
?>

Здесь важно несколько моментов. Первый аргумент — ID текущей записи. Второй — ключ поля. Третий аргумент true говорит WordPress вернуть одно значение, а не массив. Перед выводом значение лучше экранировать через esc_html(), если вы выводите обычный текст.

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

Пример вывода цены и источника

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

<?php
$price  = get_post_meta( get_the_ID(), 'price', true );
$source = get_post_meta( get_the_ID(), 'source', true );

if ( $price !== '' ) {
    echo '<p class="post-price">Цена: ' . esc_html( $price ) . '</p>';
}

if ( $source !== '' ) {
    echo '<p class="post-source">Источник: ' . esc_html( $source ) . '</p>';
}
?>

Такой подход удобен для карточек записей, страниц услуг и новостных материалов. Если поле пустое, лишний HTML не выводится.

Как работать с пользовательскими полями через редактор блоков

В Gutenberg пользовательские поля можно использовать и без правки шаблона, но для вывода на сайте всё равно нужен шаблонный код или блок, который умеет читать метаданные. Если задача простая, обычно достаточно встроенного механизма и небольшого фрагмента PHP в теме.

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

Что проверить, если поле не выводится

Когда значение не появляется на сайте, обычно проблема в одном из этих мест:

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

Самая полезная проверка — временно вывести значение прямо в шаблоне рядом с местом вывода. Если get_post_meta() возвращает пустую строку, значит WordPress не видит метаданные у текущей записи или ключ указан неверно.

Ещё один практический способ — посмотреть исходный HTML страницы. Если в коде есть нужный блок, но он пустой, значит проблема в данных. Если блока нет совсем, значит условие в шаблоне не сработало или вы редактируете не тот файл.

Когда лучше использовать не ручные поля, а произвольный тип данных

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

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

Минимальный рабочий сценарий

Если нужен короткий план без лишних шагов, он такой:

  1. Добавьте пользовательское поле в записи через админку.
  2. Запомните точный ключ поля.
  3. Откройте шаблон темы, где должен появиться вывод.
  4. Получите значение через get_post_meta().
  5. Выведите его с экранированием.
  6. Проверьте результат на фронтенде и в исходном HTML.

На этом базовая работа с custom fields в WordPress заканчивается. Дальше всё упирается в аккуратность шаблона: правильный ключ, правильный файл темы и безопасный вывод значения.

Как добавить пользовательские поля в WordPress и вывести их в шаблоне
26.10.2026
Как ускорить WordPress без плагинов: что можно оптимизировать вручную
13.10.2026
Как использовать WPCommunity для создания сообщества на WordPress
02.10.2026
Как очистить базу данных WordPress от мусора и старых ревизий
13.10.2026
Как отключить Gutenberg и вернуть классический редактор в WordPress
26.10.2026