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

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

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

Стандартный заголовок WordPress — это просто текст, который пользователь вводит при создании записи. Но бывают ситуации, когда нужно:

  • Добавить SEO-оптимизированный префикс или суффикс к заголовку;
  • Подставить динамический контент, например, дату, категорию или рейтинг;
  • Изменить заголовок в зависимости от условий — типа записи, пользователя или других параметров;
  • Автоматически формировать заголовки при импорте или массовом обновлении записей.

Использование фильтра wptricks_the_title для изменения заголовка

WordPress предоставляет фильтр the_title, с помощью которого можно перехватить и изменить заголовок перед выводом. Для удобства и во избежание конфликтов мы создадим собственную функцию с префиксом wptricks_.

function wptricks_modify_post_title($title, $id) {
    if (is_admin()) return $title; // не менять в админке
    
    $post = get_post($id);
    if (!$post) return $title;

    // Пример: добавим префикс с датой публикации
    $date = get_the_date('d.m.Y', $id);
    $new_title = "[$date] " . $title;

    return $new_title;
}
add_filter('the_title', 'wptricks_modify_post_title', 10, 2);

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

Другие примеры изменения заголовков

Можно добавлять любые данные, например, название категории записи:

function wptricks_add_category_to_title($title, $id) {
    if (is_admin()) return $title;
    
    $categories = get_the_category($id);
    if (!empty($categories)) {
        $cat_names = wp_list_pluck($categories, 'name');
        $title .= ' | Категории: ' . implode(', ', $cat_names);
    }
    return $title;
}
add_filter('the_title', 'wptricks_add_category_to_title', 10, 2);

Изменение заголовка для определённого типа записи или шаблона

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

function wptricks_modify_title_for_custom_post_type($title, $id) {
    if (is_admin()) return $title;
    
    $post = get_post($id);
    if ($post && $post->post_type === 'product') { // например, тип product
        $title = 'Товар: ' . $title;
    }
    return $title;
}
add_filter('the_title', 'wptricks_modify_title_for_custom_post_type', 10, 2);

Такое решение удобно для интернет-магазинов или сайтов с разной структурой контента.

Изменение заголовка на странице архива или главной

Иногда нужно менять заголовки только в определённых местах:

function wptricks_modify_title_on_home_and_archive($title, $id) {
    if (is_admin()) return $title;
    
    if (is_home() || is_archive()) {
        $title = 'Архив: ' . $title;
    }
    return $title;
}
add_filter('the_title', 'wptricks_modify_title_on_home_and_archive', 10, 2);

Плагины для управления заголовками записей

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

  • Title Experiments Free — позволяет создавать вариации заголовков для A/B тестирования.
  • WPGPT от WPShop — автоматизирует создание заголовков с помощью ИИ, что помогает генерировать привлекательные и SEO-оптимизированные названия. Подробнее на wpshop.ru.
  • Clearfy Pro

Советы по оптимизации и безопасности при изменении заголовков

При программном изменении заголовков учитывайте следующие моменты:

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

Как сделать функцию для массового обновления заголовков в базе

Если нужно изменить заголовки в базе (например, добавить префикс ко всем существующим записям), можно использовать следующий пример:

function wptricks_update_all_post_titles() {
    // Получаем все посты
    $posts = get_posts(['numberposts' => -1, 'post_type' => 'post']);
    foreach ($posts as $post) {
        $new_title = '[Обновлено] ' . $post->post_title;
        wp_update_post([
            'ID' => $post->ID,
            'post_title' => $new_title
        ]);
    }
}
// Запускать вручную, например, через WP-CLI или временно подключить и вызвать функцию
// wptricks_update_all_post_titles();

Этот код добавит префикс [Обновлено] ко всем заголовкам. Используйте с осторожностью и делайте резервную копию базы.

Как автоматизировать создание и удаление пользователей в WordPress с примерами кода
18.02.2026
Как автоматически отключить редактор Gutenberg в WordPress для определённых типов записей
11.01.2026
WooCommerce: автоматическое удаление заказов с отсрочкой платежа
28.05.2026
Как создать собственные шорткоды в WordPress
05.11.2025
Как отключить emoji в WordPress и улучшить производительность сайта
01.04.2026