В этой статье мы подробно разберём, как использовать пользовательский хук wp_blog для динамического изменения заголовка страниц в WordPress. Часто возникает задача менять заголовок страницы в зависимости от контекста без прямого редактирования шаблонов темы. Использование хуков — это мощный и гибкий способ достичь этой цели с минимальными усилиями и максимально чистым кодом.
Что такое хук wp_blog и зачем он нужен
Хук wp_blog — это вымышленный пример пользовательского хука, который можно добавить в свою тему или плагин для изменения заголовка страницы на лету. В WordPress существует множество стандартных хуков, связанных с заголовками и метаинформацией, например wp_title или pre_get_document_title. Однако иногда имеет смысл создать собственный хук, чтобы централизовать логику изменения заголовков и упростить поддержку кода.
Допустим, вы хотите, чтобы заголовок главной страницы менялся в зависимости от времени суток или категории блога. Добавив хук wp_blog, вы сможете в одном месте управлять всеми этими изменениями.
Как добавить хук wp_blog и использовать его для изменения заголовка
Рассмотрим, как реализовать хук wp_blog в functions.php вашей темы или в плагине. Сначала создадим фильтр, который будет принимать текущий заголовок и возвращать новый.
<?php
add_filter('wp_blog', 'wp_blog_change_title', 10, 1);
function wp_blog_change_title($title) {
if (is_home()) {
$hour = date('H');
if ($hour < 12) {
$title = 'Доброе утро на нашем WordPress-блоге';
} elseif ($hour < 18) {
$title = 'Добрый день на нашем WordPress-блоге';
} else {
$title = 'Добрый вечер на нашем WordPress-блоге';
}
} elseif (is_category()) {
$category = get_queried_object();
$title = 'Статьи в категории: ' . $category->name;
}
return $title;
}
?>Далее нужно вызвать этот хук в нужном месте темы, где формируется заголовок. Например, в header.php или в функции, которая отвечает за вывод заголовка страницы:
<?php
$title = apply_filters('wp_blog', wp_get_document_title());
?>
<title><?php echo esc_html($title); ?></title>Интеграция с плагином Clearfy Pro для улучшения SEO заголовков
Если вы используете плагин Clearfy Pro, то у вас есть расширенные возможности по управлению SEO-заголовками и мета-тегами. Хук wp_blog можно использовать совместно с Clearfy Pro, чтобы дополнительно менять заголовки страниц в зависимости от настроек плагина.
Например, добавим в функцию проверку, активен ли Clearfy Pro, и изменим заголовок с учётом его настроек:
<?php
add_filter('wp_blog', 'wp_blog_change_title_with_clearfy', 20, 1);
function wp_blog_change_title_with_clearfy($title) {
if (function_exists('clearfy_get_option')) {
$seo_title = clearfy_get_option('seo_title_custom');
if ($seo_title) {
$title = $seo_title;
}
}
return $title;
}
?>Примеры расширенного использования хука wp_blog
Динамический заголовок для страниц с пользовательскими таксономиями
Если у вас есть кастомные таксономии, например «Теги проекта», можно расширить функцию так, чтобы заголовок менялся при просмотре таких страниц:
<?php
function wp_blog_custom_tax_title($title) {
if (is_tax('project_tag')) {
$term = get_queried_object();
$title = 'Проекты с тегом: ' . $term->name;
}
return $title;
}
add_filter('wp_blog', 'wp_blog_custom_tax_title', 15, 1);
?>Это позволяет пользователям видеть информативные заголовки, улучшая навигацию и SEO.
Добавление префикса или суффикса к заголовку
Иногда нужно просто добавить текст к стандартному заголовку. Используем хук для этого:
<?php
function wp_blog_add_suffix_to_title($title) {
return $title . ' | Блог WP-Blog.ru';
}
add_filter('wp_blog', 'wp_blog_add_suffix_to_title', 30, 1);
?>Так вы легко брендируете заголовки сайта без изменения темы.
Отладка и проверка работы хука
Чтобы убедиться, что хук wp_blog работает корректно, можно временно добавить отладочный вывод:
<?php
function wp_blog_debug_title($title) {
error_log('Текущий заголовок: ' . $title);
return $title;
}
add_filter('wp_blog', 'wp_blog_debug_title', 5, 1);
?>Проверяйте логи сервера для подтверждения вызова фильтра и правильности изменений.
Заключение
Пользовательский хук wp_blog — это удобный инструмент для гибкого управления заголовками страниц WordPress. С его помощью можно реализовать множество сценариев — от простого добавления суффиксов до сложной динамической генерации заголовков в зависимости от контекста. Интеграция с плагинами, такими как Clearfy Pro, расширяет возможности SEO-оптимизации, делая ваш сайт более привлекательным для поисковых систем и пользователей.