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

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

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

Стандартный заголовок поста в админке берётся из поля post_title таблицы базы данных. Но бывают ситуации, когда нужно:

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

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

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

Чтобы изменить заголовок в таблице со списком постов, следует использовать фильтр the_title с проверкой контекста админки и типа запроса. Ниже пример функции, которая добавляет префикс [WPBlock] к заголовку всех постов в админке:

function wpblock_admin_modify_post_title( $title, $post_id ) {
    if ( is_admin() ) {
        $screen = get_current_screen();
        if ( $screen && $screen->base === 'edit' ) {
            $post = get_post( $post_id );
            if ( $post->post_type === 'post' ) {
                $title = '[WPBlock] ' . $title;
            }
        }
    }
    return $title;
}
add_filter( 'the_title', 'wpblock_admin_modify_post_title', 10, 2 );

Обратите внимание, что мы проверяем, что находимся именно на странице редактирования списка постов (edit), чтобы не менять заголовок в публичной части сайта.

Расширение: добавление статуса публикации к заголовку

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

function wpblock_admin_add_status_to_title( $title, $post_id ) {
    if ( is_admin() ) {
        $screen = get_current_screen();
        if ( $screen && $screen->base === 'edit' ) {
            $post = get_post( $post_id );
            if ( $post->post_type === 'post' ) {
                $status_label = '';
                switch ( $post->post_status ) {
                    case 'draft':
                        $status_label = ' (Черновик)';
                        break;
                    case 'pending':
                        $status_label = ' (На проверке)';
                        break;
                    case 'publish':
                        $status_label = ' (Опубликовано)';
                        break;
                }
                $title .= $status_label;
            }
        }
    }
    return $title;
}
add_filter( 'the_title', 'wpblock_admin_add_status_to_title', 10, 2 );

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

Если нужно изменить заголовок, который отображается в поле редактирования записи (input с id title), то тут задача сложнее, поскольку WordPress загружает заголовок из базы и выводит его в текстовом поле.

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

function wpblock_admin_change_edit_title_js( $hook ) {
    if ( $hook === 'post.php' || $hook === 'post-new.php' ) {
        wp_enqueue_script( 'wpblock-admin-title', plugin_dir_url( __FILE__ ) . 'js/wpblock-admin-title.js', array( 'jquery' ), null, true );
    }
}
add_action( 'admin_enqueue_scripts', 'wpblock_admin_change_edit_title_js' );

В файле js/wpblock-admin-title.js пишем:

jQuery(document).ready(function($) {
    var originalTitle = $('#title').val();
    var newTitle = '[WPBlock] ' + originalTitle;
    $('#title').val(newTitle);
});

Таким образом, при загрузке страницы редактирования заголовок будет автоматически дописываться префиксом [WPBlock]. Аналогично можно делать и другие модификации.

Изменение заголовка для кастомных типов записей и с учётом метаданных

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

function wpblock_custom_post_type_title( $title, $post_id ) {
    if ( is_admin() ) {
        $screen = get_current_screen();
        if ( $screen && $screen->base === 'edit' ) {
            $post = get_post( $post_id );
            if ( $post->post_type === 'my_custom_type' ) {
                $custom_title = get_post_meta( $post_id, '_wpblock_custom_title', true );
                if ( ! empty( $custom_title ) ) {
                    $title = $custom_title;
                }
            }
        }
    }
    return $title;
}
add_filter( 'the_title', 'wpblock_custom_post_type_title', 10, 2 );

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

Советы по отладке и безопасности

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

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

Рекомендуемые плагины для расширения возможностей админки WordPress

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

  • Admin Columns — добавляет удобные колонки и позволяет настраивать отображение заголовков и других полей;
  • Clearfy Pro — оптимизация и настройка админки, включая возможности кастомизации интерфейса;
  • Тема Reboot — современный дизайн админки с дополнительными настройками.

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

WooCommerce: решение проблемы с отправкой письма подтверждения заказа
28.05.2026
Как создать custom block для Gutenberg в WordPress
07.11.2025
Как отключить автоматическую прокачку изображений в WordPress
18.01.2026
Как добавить атрибуты data в WordPress блок Gutenberg
17.11.2025
Как оптимизировать загрузку скриптов и стилей в WordPress для ускорения сайта
24.11.2025

С появлением Gutenberg в WP появились и блоки. Однако не всем по душе новая версия редактора.