Как создать главный вывод текстовой информации в WordPress без плагинов

|

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

Почему стоит отказаться от плагинов для вывода текстов

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

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

Создание пользовательского поля для хранения текста в настройках темы

Самый простой способ — добавить кастомное поле через theme customizer. Таким образом, владелец сайта сможет изменять тексты через стандартный интерфейс WordPress.

Добавление секции и поля в кастомайзер

В файл functions.php вашей темы добавьте следующий код:

function wppremium_customize_register_text_output( $wp_customize ) {
    // Добавляем секцию
    $wp_customize->add_section('wppremium_text_output_section', array(
        'title'    => 'Главный текст вывода',
        'priority' => 30,
    ));

    // Добавляем настройку
    $wp_customize->add_setting('wppremium_main_text', array(
        'default'           => 'Введите здесь основной текст для вывода на сайте',
        'sanitize_callback' => 'sanitize_text_field'
    ));

    // Добавляем контрол для ввода текста
    $wp_customize->add_control('wppremium_main_text_control', array(
        'label'    => 'Текст для вывода',
        'section'  => 'wppremium_text_output_section',
        'settings' => 'wppremium_main_text',
        'type'     => 'textarea'
    ));
}
add_action('customize_register', 'wppremium_customize_register_text_output');

Данный код создаст новую секцию в кастомайзере с textarea для ввода текста.

Вывод текста в шаблоне

Чтобы вывести текст из кастомайзера, в нужном месте шаблона (например, в header.php или front-page.php) используйте:

echo esc_html(get_theme_mod('wppremium_main_text', ''));

Это выведет очищенный от HTML текст, который администратор указал в настройках темы.

Добавление поддержки HTML и форматирования

Если нужен форматируемый текст (с тегами <p>, <strong> и т.п.), замените sanitize_text_field на более гибкую функцию, например, wp_kses_post и используйте wpautop() при выводе:

$text = get_theme_mod('wppremium_main_text', '');
echo wpautop(wp_kses_post($text));

Это позволит использовать базовое форматирование и защитит от вредоносного кода.

Дополнительное расширение: вывод нескольких текстовых блоков

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

Пример кода с несколькими полями

function wppremium_customize_register_multiple_texts( $wp_customize ) {
    $wp_customize->add_section('wppremium_texts_section', array(
        'title'    => 'Текстовые блоки',
        'priority' => 35,
    ));

    $fields = [
        'welcome_text' => 'Приветственный текст',
        'about_text' => 'О компании',
        'contact_text' => 'Контактная информация',
    ];

    foreach ($fields as $key => $label) {
        $wp_customize->add_setting('wppremium_' . $key, array(
            'default'           => '',
            'sanitize_callback' => 'wp_kses_post',
        ));

        $wp_customize->add_control('wppremium_' . $key . '_control', array(
            'label'    => $label,
            'section'  => 'wppremium_texts_section',
            'settings' => 'wppremium_' . $key,
            'type'     => 'textarea'
        ));
    }
}
add_action('customize_register', 'wppremium_customize_register_multiple_texts');

В шаблоне выводите так:

echo wpautop(get_theme_mod('wppremium_welcome_text', ''));

Альтернатива: использование опций WordPress без кастомайзера

Если не хотите использовать кастомайзер, можно хранить тексты в опциях базы данных через функцию update_option() и получать через get_option(). Это подходит для админок с кастомными страницами настроек.

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

Добавим меню и поле для текста:

function wppremium_add_admin_menu() {
    add_menu_page('Настройки текстов', 'Тексты сайта', 'manage_options', 'wppremium_texts', 'wppremium_texts_page');
}
add_action('admin_menu', 'wppremium_add_admin_menu');

function wppremium_texts_page() {
    if (isset($_POST['wppremium_main_text'])) {
        update_option('wppremium_main_text', wp_kses_post($_POST['wppremium_main_text']));
        echo '<div class="updated notice"><p>Настройки сохранены.</p></div>';
    }
    $text = get_option('wppremium_main_text', '');
    ?>
    <div class="wrap">
        <h1>Настройки главного текста</h1>
        <form method="post">
            <textarea name="wppremium_main_text" rows="10" cols="50" class="large-text"><?php echo esc_textarea($text); ?></textarea>
            <br><input type="submit" class="button-primary" value="Сохранить" />
        </form>
    </div>
    <?php
}

Вывод в шаблоне:

echo wpautop(get_option('wppremium_main_text', ''));

Подсказки по безопасности и производительности

Всегда используйте функции очистки данных, такие как sanitize_text_field, wp_kses_post и экранирование вывода (esc_html, esc_textarea, wpautop) для защиты от XSS и ошибок.

Минимизируйте обращения к базе — кэшируйте результаты при необходимости.

Вывод

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

Если хотите расширить функционал и сделать управление текстами ещё проще, обратите внимание на плагины от WPSHOP, например, Clearfy Pro, который позволяет оптимизировать сайт и добавлять полезные настройки без лишнего кода.

Как удалить пользовательские данные при удалённой регистрации WordPress
21.02.2026
Как использовать хуки WooCommerce для дополнительного функционала
16.01.2026
WooCommerce: как программно удалять неактивные корзины и заказы
31.05.2026
WooCommerce: как убрать последние товары в корзине при отключении сессий
08.06.2026
Как добавить собственные поля в формы регистрации WordPress и сохранить данные
26.03.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше