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

В WordPress заголовок страницы (title) играет ключевую роль для SEO и удобства пользователей. Иногда возникает задача не просто изменить отображаемый заголовок в шаблоне, а именно отредактировать или полностью удалить заголовок страницы программно, чтобы обеспечить гибкость дизайна или реализовать уникальные пользовательские сценарии.

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

Можно просто убрать вывод заголовка в файлах темы — например, удалить <?php the_title(); ?> из шаблона. Но этот подход не универсален и не гибок, особенно если тема часто обновляется или используется несколько шаблонов.

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

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

Как удалить заголовок страницы через фильтр the_title

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

function wpmark_filter_remove_page_title($title, $id = null) {
    if (is_admin()) {
        return $title; // не трогаем в админке
    }

    if (is_page() && get_the_ID() === $id) {
        return ''; // удаляем заголовок конкретной страницы
    }
    return $title;
}
add_filter('the_title', 'wpmark_filter_remove_page_title', 10, 2);

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

Изменение заголовка страницы через фильтр с динамическими данными

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

function wpmark_filter_change_page_title($title, $id = null) {
    if (is_admin()) {
        return $title;
    }

    if (is_page() && get_the_ID() === $id) {
        $custom_title = 'WPMark: ' . $title . ' – уникальный заголовок';
        return $custom_title;
    }
    return $title;
}
add_filter('the_title', 'wpmark_filter_change_page_title', 10, 2);

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

Особенности работы с SEO-плагинами и заголовками

Если на сайте установлен SEO-плагин, например, Clearfy Pro, то он может управлять заголовками страниц через собственные механизмы. В таких случаях фильтр the_title может не влиять на итоговый тег <title> в <head> страницы.

Чтобы влиять на SEO-заголовки, нужно применять фильтры, которые используют SEO-плагины или фильтры ядра WordPress для заголовка <title>:

function wpmark_filter_wp_title($title) {
    if (is_page()) {
        return 'WPMark | ' . $title;
    }
    return $title;
}
add_filter('wp_title', 'wpmark_filter_wp_title');

Или использовать фильтр pre_get_document_title (начиная с WP 4.4):

function wpmark_filter_document_title($title) {
    if (is_page()) {
        return 'WPMark | ' . $title;
    }
    return $title;
}
add_filter('pre_get_document_title', 'wpmark_filter_document_title');

Эти методы меняют именно тег <title> в <head>, а не заголовок внутри контента.

Практические советы и распространенные ошибки

  • Не меняйте заголовки в админке. Всегда проверяйте условие is_admin(), чтобы не ухудшить отображение в административной панели.
  • Учитывайте кэширование. Если на сайте настроено кэширование, изменения заголовков могут не сразу отображаться. Очистите кэш после внесения изменений.
  • Используйте дочерние темы. Если планируете править шаблоны, создайте дочернюю тему, чтобы не потерять изменения при обновлении.
  • Проверяйте ID страницы или slug. Для надежной работы фильтров используйте уникальные идентификаторы или слаг страницы.
  • Тестируйте на разных типах страниц. Убедитесь, что изменения не влияют на другие страницы или записи.

Пример комплексного решения: удаление заголовка для статической главной и изменение для других страниц

function wpmark_filter_custom_titles($title, $id = null) {
    if (is_admin()) {
        return $title;
    }

    if (is_front_page()) {
        return ''; // убираем заголовок на главной
    }

    if (is_page()) {
        return 'WPMark - ' . $title; // добавляем префикс для остальных страниц
    }

    return $title;
}
add_filter('the_title', 'wpmark_filter_custom_titles', 10, 2);

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

Заключение

Использование фильтров WordPress для удаления или изменения заголовка страницы — мощный и гибкий инструмент, который поможет решить специфические задачи отображения заголовков. Продуманное применение фильтра the_title и фильтров для <title> в <head> позволяет сохранить совместимость с темами, SEO-плагинами и обеспечить удобное управление выводом заголовков.

Для расширения возможностей рекомендую ознакомиться с плагином Clearfy Pro, который помогает оптимизировать и управлять различными аспектами сайта, включая заголовки и SEO настройки.

Как автоматизировать управление ролями и правами в WordPress
25.01.2026
Как использовать хуки для автоматизации в WordPress
17.12.2025
Оптимизация базы данных WordPress для ускорения сайта
01.11.2025
Как использовать WPRemark для автоматизации отзывов в WordPress
08.01.2026
Как создать и использовать собственные пост типы в WordPress
17.11.2025