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

Собственные поля (custom fields) — мощный инструмент WordPress, который позволяет расширять стандартный функционал постов и страниц, добавляя к ним дополнительные данные. Многие начинающие разработчики тянутся к плагинам для реализации этой задачи, но на самом деле добавить и вывести собственные поля можно и вручную, через код. Это снижает нагрузку на сайт и даёт полный контроль над выводом данных.

Что такое собственные поля в WordPress и зачем они нужны

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

Использование собственных полей позволяет:

  • Хранить дополнительную информацию, не меняя структуру базы данных.
  • Создавать гибкие шаблоны вывода контента.
  • Оптимизировать работу сайта, избегая установки лишних плагинов.

В WordPress собственные поля хранятся в таблице wp_postmeta, где каждому посту соответствуют ключи и значения мета-данных.

Как добавить собственные поля вручную через админку WordPress

По умолчанию WordPress имеет встроенный функционал для добавления собственных полей, но он скрыт в редакторе. Чтобы его включить, проделайте следующие шаги:

  1. Откройте редактор записи или страницы.
  2. В правом верхнем углу нажмите на три точки и выберите «Настройки».
  3. В разделе «Панели» активируйте опцию «Собственные поля».

Теперь внизу редактора появится блок для добавления ключа и значения. Это самый простой способ — но он подходит для быстрого добавления и редактирования мета-данных вручную.

Добавление собственных полей программно с помощью функций в functions.php

Для автоматизации и точного контроля рекомендуется добавлять собственные поля через функции в теме или плагине. Рассмотрим базовый пример добавления мета-поля при сохранении записи.

Регистрация мета-поля и сохранение данных

Добавим поле wpaction_custom_subtitle, в котором будем хранить подзаголовок записи.

function wpaction_save_custom_subtitle($post_id) {
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
    if (!current_user_can('edit_post', $post_id)) return;
    if (!isset($_POST['wpaction_custom_subtitle_field'])) return;

    $subtitle = sanitize_text_field($_POST['wpaction_custom_subtitle_field']);
    update_post_meta($post_id, 'wpaction_custom_subtitle', $subtitle);
}
add_action('save_post', 'wpaction_save_custom_subtitle');

Здесь мы проверяем, что это не автосохранение, что пользователь имеет права редактирования, и что поле передано из формы. Далее сохраняем значение в базу.

Добавление поля в админ-панель записи

Чтобы пользователь мог вводить подзаголовок, добавим мета-бокс в редактор:

function wpaction_add_custom_meta_box() {
    add_meta_box(
        'wpaction_subtitle_box',
        'Подзаголовок записи',
        'wpaction_subtitle_box_html',
        'post',
        'normal',
        'high'
    );
}
add_action('add_meta_boxes', 'wpaction_add_custom_meta_box');

function wpaction_subtitle_box_html($post) {
    $value = get_post_meta($post->ID, 'wpaction_custom_subtitle', true);
    echo '<label for="wpaction_custom_subtitle_field">Введите подзаголовок:</label>';
    echo '<input type="text" id="wpaction_custom_subtitle_field" name="wpaction_custom_subtitle_field" value="' . esc_attr($value) . '" style="width:100%;" />';
}

Теперь в редакторе у записей появится поле для ввода подзаголовка.

Вывод собственных полей в шаблоне темы

Чтобы вывести сохранённое мета-значение в шаблоне, используйте функцию get_post_meta. Например, в файле single.php после заголовка:

$subtitle = get_post_meta(get_the_ID(), 'wpaction_custom_subtitle', true);
if ($subtitle) {
    echo '<h2 class="post-subtitle">' . esc_html($subtitle) . '</h2>';
}

Это добавит подзаголовок под основным заголовком записи. Можно стилизовать класс post-subtitle через CSS по своему усмотрению.

Полезные плагины для расширенного управления собственными полями

Если вам нужен более мощный и гибкий интерфейс, рассмотрите эти плагины:

  • Advanced Custom Fields (ACF) — самый популярный плагин для создания, группировки и вывода собственных полей. Имеет удобный визуальный редактор и поддержку различных типов полей.
  • Meta Box — аналог ACF с множеством расширений и гибкой системой шаблонов.
  • CMB2 — инструмент для разработчиков с удобным API и возможностью создавать мета-боксы через код.

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

Заключение: когда стоит использовать собственные поля и как их правильно организовать

Собственные поля — это основа расширения возможностей WordPress. Они позволяют создавать уникальный контент и функционал без изменения ядра и структуры базы данных. Однако при использовании собственных полей важно придерживаться следующих правил:

  • Используйте префиксы (например, wpaction_) в названиях ключей, чтобы избежать конфликтов с другими мета-данными.
  • Сохраняйте и выводите данные с помощью функций WordPress (update_post_meta, get_post_meta), чтобы обеспечить безопасность и совместимость.
  • При необходимости добавляйте в админ-панель удобные мета-боксы для удобного управления.
  • Если проект большой и сложный, подумайте о плагинах с визуальным редактором, чтобы упростить администрирование.

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

Оптимизация базы данных WordPress: как ускорить сайт и снизить нагрузку
14.11.2025
Как автоматизировать публикации в WordPress с помощью WPRemark
26.12.2025
Как удалить неиспользуемые медиафайлы в WordPress
02.12.2025
Как добавить собственные поля в WordPress без плагинов
11.11.2025
Как избежать конфликтов плагинов в WordPress
13.12.2025