Хук document_title_parts
в WordPress позволяет изменять части заголовка (title) страницы. Этот фильтр удобен для настройки и улучшения SEO, так как дает возможность управлять разными частями заголовка, такими как название страницы, описание сайта, номер страницы и т.д.
apply_filters( ‘document_title_parts’, array $title )
Фильтр document_title_parts
применяется к массиву частей заголовка. Хук полезен, если вы хотите изменить определенные части заголовка, не затрагивая другие, или же полностью убрать определенные элементы из заголовка.
Параметры
Хук document_title_parts
передает массив $title
, который включает следующие элементы:
title
(строка): Заголовок текущей страницы.page
(строка): Номер страницы для пагинации (если есть).tagline
(строка): Описание сайта, отображаемое на главной странице.site
(строка): Название сайта, отображаемое на других страницах.
Пример 1: Изменение заголовка для конкретной страницы
Этот пример изменяет заголовок только для страницы с определенным ID.
add_filter('document_title_parts', 'custom_title_for_specific_page');
function custom_title_for_specific_page($title_parts) {
if (get_the_ID() == 1234) { // Замените 1234 на ID нужной страницы
$title_parts['title'] = 'Особенный заголовок страницы';
}
return $title_parts;
}
В данном примере, если ID страницы совпадает с указанным, заголовок этой страницы будет изменен на «Особенный заголовок страницы».
Пример 2: Удаление названия сайта из заголовка
Иногда для улучшения SEO и сокращения заголовка нужно удалить название сайта, оставив только название страницы.
add_filter('document_title_parts', 'remove_site_name_from_title');
function remove_site_name_from_title($title_parts) {
if (isset($title_parts['site'])) {
unset($title_parts['site']); // Удаляем элемент 'site' из массива
}
return $title_parts;
}
Этот код удаляет название сайта из заголовка на всех страницах, оставляя только название самой страницы.
Пример 3: Изменение шаблона заголовка на главной странице
Если требуется изменить отображение заголовка на главной странице, можно воспользоваться следующим кодом. Здесь удаляется описание сайта (tagline
).
add_filter('document_title_parts', 'custom_homepage_title');
function custom_homepage_title($title_parts) {
if (is_front_page() && isset($title_parts['tagline'])) {
unset($title_parts['tagline']); // Убираем описание сайта
}
return $title_parts;
}
В этом примере описание сайта будет удалено только на главной странице, и заголовок останется в формате «Название сайта».
Пример 4: Добавление настраиваемого текста для страниц пагинации
Этот пример добавляет настраиваемый текст к заголовку страницы для страниц с пагинацией, чтобы улучшить их отображение в поисковых системах.
add_filter('document_title_parts', 'custom_pagination_title');
function custom_pagination_title($title_parts) {
if (is_paged()) {
$title_parts['page'] = 'Часть ' . get_query_var('paged'); // Добавляем номер страницы
}
return $title_parts;
}
Здесь к заголовку добавляется номер текущей страницы (например, «Часть 2»), что полезно для страниц с пагинацией, чтобы пользователи и поисковые системы могли легко различать их.
Пример 5: Изменение заголовка для страниц с определенным шаблоном
Этот код изменяет заголовок страниц, которые используют определенный шаблон, например, шаблон portfolio
.
add_filter('document_title_parts', 'custom_title_for_template');
function custom_title_for_template($title_parts) {
if (is_page_template('template-portfolio.php')) {
$title_parts['title'] = 'Наши проекты';
}
return $title_parts;
}
В этом примере, если страница использует шаблон template-portfolio.php
, заголовок этой страницы будет изменен на «Наши проекты».
Заключение
Хук document_title_parts
в WordPress — это мощный инструмент для гибкого управления заголовком страницы. С его помощью можно адаптировать заголовки к различным условиям, удалять или добавлять элементы и улучшать SEO сайта.