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

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

Почему важно автоматическое изменение заголовков

Заголовок — один из ключевых элементов SEO и пользовательского опыта. Ручное редактирование сотен или тысяч постов занимает много времени и может привести к ошибкам. Автоматизация позволяет:

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

WPBit предлагает использовать собственные хуки и фильтры WordPress для решения таких задач быстро и эффективно.

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

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

Пример плагина WPBit, который добавляет дату публикации в начало заголовка:

<?php
/*
Plugin Name: WPBit Title Prefix
Description: Добавляет дату публикации перед заголовком поста
Version: 1.0
Author: WPBit.ru
*/

add_filter('the_title', 'wpbit_prefix_post_title', 10, 2);
function wpbit_prefix_post_title($title, $post_id) {
    if (is_admin()) return $title; // не менять в админке

    $post = get_post($post_id);
    if ($post->post_type !== 'post') return $title; // только для записей

    $date = get_the_date('Y-m-d', $post_id);
    return "[{$date}] " . $title;
}
?>

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

Как добавить категорию в суффикс заголовка

Расширим плагин, чтобы добавлять в конце заголовка название первой категории записи:

add_filter('the_title', 'wpbit_suffix_post_title', 20, 2);
function wpbit_suffix_post_title($title, $post_id) {
    if (is_admin()) return $title;

    $post = get_post($post_id);
    if ($post->post_type !== 'post') return $title;

    $categories = get_the_category($post_id);
    if (!empty($categories)) {
        $title .= ' | ' . $categories[0]->name;
    }
    return $title;
}

Теперь заголовок будет иметь формат: [2024-06-01] Заголовок поста | Категория. Такой подход помогает улучшить восприятие темы записи и удобство навигации.

Массовое обновление заголовков в базе данных

Фильтр the_title меняет заголовки только при выводе. Если нужно перезаписать заголовки в базе, чтобы они изменились в админке и URL (если структура зависит от заголовка), потребуется массовое обновление.

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

function wpbit_update_post_titles() {
    $args = [
        'post_type' => 'post',
        'posts_per_page' => -1,
        'post_status' => 'publish',
    ];
    $posts = get_posts($args);

    foreach ($posts as $post) {
        $date = get_the_date('Y-m-d', $post->ID);
        $new_title = "[{$date}] " . $post->post_title;

        // Обновляем только если заголовок ещё не изменён
        if (strpos($post->post_title, "[{$date}]") === false) {
            wp_update_post([
                'ID' => $post->ID,
                'post_title' => $new_title
            ]);
        }
    }
}
<

Вызовите эту функцию один раз, например, через WP-CLI или подключив к акшену admin_init (только с проверкой прав), чтобы обновить все посты.

Использование плагинов для автоматизации

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

  • Clearfy Pro — расширенные возможности оптимизации и массового редактирования;
  • Bulk Edit Plugins — позволяют фильтровать и менять заголовки, но требуют ручного запуска.

Однако собственный код даёт гибкость и точное попадание под ваши задачи.

Заключение по теме автоматического изменения заголовков WordPress

Автоматизация изменения заголовков в WordPress улучшает качество контента и экономит время. Используйте фильтр the_title для динамических изменений при выводе и массовые обновления через wp_update_post, если требуется перезаписать данные в базе.

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

Как удалить категории без записей в WordPress автоматически
19.02.2026
Как использовать REST API WordPress для автоматизации задач
15.12.2025
Автоматическое удаление пустых комментариев в WordPress
03.02.2026
Как избежать проблем с отключением WP-Cron в WordPress
20.04.2026
Как настроить автоматическую отправку email уведомлений в WordPress
01.01.2026