В некоторых проектах на WordPress возникает необходимость автоматически изменять заголовки постов — например, для добавления префиксов, суффиксов, даты публикации или другой информации. Это может быть полезно как для SEO, так и для удобства пользователей. В этой статье разберём, как реализовать автоматическую замену заголовков с помощью PHP-кода и рассмотрим несколько вариантов использования.
Почему важно уметь автоматически менять заголовки постов
Заголовок поста — один из главных элементов, влияющих на восприятие контента пользователем и поисковыми системами. Иногда нужно вносить изменения массово или динамически, например:
- Добавлять дату публикации или категорию к заголовку для лучшего контекста.
- Вставлять специальные метки для акций, распродаж или важных новостей.
- Уникализировать заголовки на основе пользовательских условий.
Ручное редактирование большого количества записей занимает много времени, поэтому автоматизация с помощью кода — оптимальное решение.
Как работает изменение заголовка через фильтр the_title
WordPress предоставляет фильтр the_title, который вызывается при выводе заголовков постов. Используя этот фильтр, можно изменить заголовок перед отображением на сайте без изменения данных в базе.
Пример базового кода, который добавляет префикс к заголовкам постов:
function wplog_filter_the_title_prefix($title, $id = null) {
if (is_admin()) {
return $title; // не изменяем заголовки в админке
}
if (get_post_type($id) === 'post') {
$prefix = '[WPL] ';
$title = $prefix . $title;
}
return $title;
}
add_filter('the_title', 'wplog_filter_the_title_prefix', 10, 2);Этот код добавит к каждому заголовку поста префикс [WPL] при выводе на сайте. В админке заголовок останется неизменным.
Автоматическое добавление даты публикации к заголовку
Частая задача — показывать дату публикации прямо в заголовке, чтобы посетители видели актуальность материала. Сделаем так, чтобы дата добавлялась в формате «день.месяц.год» перед заголовком:
function wplog_add_date_to_title($title, $id = null) {
if (is_admin()) {
return $title;
}
if (get_post_type($id) === 'post') {
$date = get_the_date('d.m.Y', $id);
$title = "[$date] " . $title;
}
return $title;
}
add_filter('the_title', 'wplog_add_date_to_title', 10, 2);<Такой подход не меняет исходные данные и легко настраивается под любой формат даты.
Поддержка вывода заголовков в разных местах
Обратите внимание, что фильтр the_title срабатывает во многих местах, например, в виджетах, списках, хлебных крошках. Если нужно ограничить замену только главным заголовком записи, полезно проверить условие внутри функции:
if (is_singular('post') && in_the_loop() && is_main_query()) {
// изменяем заголовок
}Это гарантирует, что замена будет происходить только на странице отдельного поста при основном запросе WordPress.
Использование пользовательских полей для динамической замены заголовков
Иногда нужно менять заголовок в зависимости от значения метаполей, например, добавлять статус или рейтинг. Рассмотрим пример, когда в пользовательском поле special_label хранится текст, который нужно добавить к заголовку:
function wplog_add_custom_field_to_title($title, $id = null) {
if (is_admin()) {
return $title;
}
if (get_post_type($id) === 'post') {
$label = get_post_meta($id, 'special_label', true);
if (!empty($label)) {
$title .= ' (' . esc_html($label) . ')';
}
}
return $title;
}
add_filter('the_title', 'wplog_add_custom_field_to_title', 10, 2);Так вы сможете легко управлять заголовками через метаполя без редактирования самого заголовка в админке.
Автоматическое изменение заголовков с помощью плагина Clearfy Pro
Если вы предпочитаете готовые решения, плагин Clearfy Pro предлагает мощные инструменты оптимизации, включая функции для массового изменения заголовков и метаданных. Плагин позволяет создавать правила на основе условий, автоматически добавлять шаблоны и управлять SEO-заголовками без знания кода.
Почему стоит использовать Clearfy Pro для управления заголовками
- Интуитивный интерфейс без необходимости писать код.
- Поддержка шаблонов с динамическими переменными.
- Встроенные инструменты для SEO-оптимизации.
- Обновления и поддержка от разработчиков.
Это отличный вариант для тех, кто хочет автоматизировать процесс без риска ошибок.
Полезные советы и предосторожности при изменении заголовков
При автоматической замене заголовков важно помнить:
- Изменения через фильтр
the_titleне меняют данные в базе, поэтому сохраняется оригинальный заголовок. - Необходимо учитывать, где и как выводятся заголовки, чтобы не повредить логику темы или плагинов.
- Всегда тестируйте код на тестовом сайте перед применением на живом проекте.
- Для массовых изменений в базе лучше использовать WP-CLI или SQL-запросы с осторожностью.
Также стоит проверить совместимость с плагинами SEO и кэширования, чтобы избежать конфликтов.
Заключение
Автоматическое изменение заголовков постов в WordPress доступно и просто благодаря фильтру the_title. С помощью PHP-кода можно добавлять префиксы, суффиксы, динамические данные из даты или пользовательских полей. Для более продвинутого управления стоит обратить внимание на плагин Clearfy Pro, который расширит возможности настройки заголовков без программирования.
Экспериментируйте с кодом и настройками, чтобы сделать заголовки ваших постов максимально информативными и удобными для пользователей и поисковых систем.