В стандартном WordPress заголовок записи задаётся вручную и остаётся статичным после публикации. Однако бывают ситуации, когда нужно изменить заголовок динамически — например, добавить дату, статус, или дополнительную информацию в зависимости от контекста показа.
Зачем изменять заголовки динамически?
Динамическое изменение заголовков помогает:
- Улучшить SEO за счёт добавления ключевых слов и дат
- Повысить вовлечённость пользователей, делая заголовки более информативными
- Автоматизировать обновление контента без ручных правок
Например, интернет-магазины могут добавлять наличие товара в заголовок, а новостные сайты — дату публикации.
Способы динамического изменения заголовков в WordPress
1. Использование фильтра the_title
В WordPress есть фильтр the_title, который позволяет изменять заголовок записи в момент вывода. Это самый простой и гибкий способ.
Пример функции, которая добавляет текущий год к заголовку записи:
function wpdir_filter_the_title($title, $id = null) {
if (is_singular('post') && in_the_loop() && !is_admin()) {
$year = get_the_date('Y', $id);
$title .= ' (' . $year . ')';
}
return $title;
}
add_filter('the_title', 'wpdir_filter_the_title', 10, 2);Этот код добавляет год публикации в скобках после заголовка записи при её просмотре на сайте.
2. Создание плагина для динамического управления заголовками
Чтобы более удобно управлять изменениями, можно оформить функционал в плагин с настройками через админку. Например, плагин Clearfy Pro позволяет в том числе управлять SEO-настройками заголовков без кода.
Для собственных задач можно использовать следующий шаблон плагина:
<?php
/**
* Plugin Name: WPDir Dynamic Titles
* Description: Динамическое изменение заголовков записей.
* Version: 1.0
* Author: WPDir
*/
function wpdir_dynamic_titles_filter($title, $id = null) {
if (is_singular('post') && in_the_loop() && !is_admin()) {
$custom_text = ' - Актуально на ' . date('d.m.Y');
$title .= $custom_text;
}
return $title;
}
add_filter('the_title', 'wpdir_dynamic_titles_filter', 10, 2);Плагин можно расширить, добавив настройки в админке для настройки текста и условий добавления.
3. Использование плагинов SEO для динамического управления заголовками
Многие SEO-плагины, такие как Yoast SEO, All in One SEO, позволяют настраивать шаблоны заголовков записей и страниц с использованием переменных. Это альтернатива программированию — можно задать шаблон, например, %%title%% - Новости от %%date%%.
Однако такой подход работает только для мета-заголовков в <title> и мета-тегах, а не для видимых заголовков на странице. Для видимых заголовков нужен код.
4. Пример расширенного кода: добавление статуса и метки
Допустим, нужно добавить к заголовку информацию о статусе записи (черновик, опубликовано) и метку, если есть. Вот пример:
function wpdir_dynamic_title_with_status($title, $id = null) {
if (is_singular('post') && in_the_loop() && !is_admin()) {
$post = get_post($id);
if (!$post) return $title;
$status = $post->post_status === 'publish' ? 'Опубликовано' : 'Черновик';
$tags = get_the_tags($id);
$tag_names = '';
if ($tags && !is_wp_error($tags)) {
$tag_names_arr = wp_list_pluck($tags, 'name');
$tag_names = ' [' . implode(', ', $tag_names_arr) . ']';
}
$title .= ' - ' . $status . $tag_names;
}
return $title;
}
add_filter('the_title', 'wpdir_dynamic_title_with_status', 10, 2);Этот код добавит к заголовку " - Опубликовано [метки]" или " - Черновик [метки]".
Рекомендации и важные моменты
- Фильтр
the_titleсрабатывает для всех заголовков, в том числе в админке. Поэтому важно ограничить условиями, чтобы не сломать интерфейс. - Используйте проверку
is_admin()и контекста вывода. - Для SEO мета-заголовков используйте SEO-плагины с шаблонами.
- Если у вас сложные условия — лучше сделать плагин с настройками.
Заключение
Динамическое изменение заголовков записей в WordPress — мощный инструмент для улучшения UX и SEO. Используя фильтр the_title, можно добавлять любую информацию в заголовок без изменения самих записей. Расширение этого функционала в плагин с настройками сделает управление удобнее.
Если хотите быстро улучшить SEO-заголовки, обратите внимание на Clearfy Pro — удобный инструмент с множеством функций для оптимизации WordPress.