document_title_parts
Позволяет изменить заголовок (title) страницы сайта на WordPress.
Это фильтр для функции wp_get_document_title(), которая по умолчанию должна выводить заголовок страницы на фронте в HEAD части HTML, если включена поддержка заголовков add_theme_support( 'title-tag' ).
Этот фильтр позволяет изменить части заголовка - заголовок строится из составных частей.
Используйте хук document_title, чтобы изменить полностью сформированный заголовок.
Использование
add_filter( 'document_title_parts', 'wp_kama_document_title_parts_filter' );
/**
* Function for `document_title_parts` filter-hook.
*
* @param array $title The document title parts.
*
* @return array
*/
function wp_kama_document_title_parts_filter( $title ){
// filter...
return $title;
}
- $title(массив)
Ассоциативный массив со всеми частями заголовка. Части затем объединяются через разделитель
-. Разделитель можно изменить через фильтр document_title_separator.Элементы массива:
-
title(строка)
Заголовок просматриваемой страницы. -
page(строка)
Текст для страницы пагинации. Создается на основе одной из глобальных переменных:global $page, $paged. -
tagline(строка)
Описание сайта на домашней странице - is_front_page(). - site(строка)
Описание сайта на любой странице, кроме домашней.
-
Примеры
#1 Изменим заголовок страницы portfolio
add_filter( 'document_title_parts', 'filter_function_name_2114' );
function filter_function_name_2114( $title ){
if( is_page('portfolio') )
$title['title'] = 'Моя страница портфолио — Декстер Морган';
return $title;
} #2 Удаление названия сайта в конце заголовка
Ко всем заголовкам на отдельных страницах is_singular() добавляется название сайта через разделитель. Это не всегда хорошо, давайте поправим этот момент:
add_filter( 'document_title_parts', function( $parts ){
if( isset($parts['site']) )
unset($parts['site']);
return $parts;
}); #3 Удаление описания сайта из заголовка главной страницы
На главной странице title по умолчанию выводится по шаблону "Название сайта - описание сайта". Чтобы удалить описание сайта, воспользуйтесь кодом:
// удалим описание сайта из заголовка для главной страницы
add_filter( 'document_title_parts', function( $title ){
if( isset($title['tagline']) )
unset( $title['tagline'] );
return $title;
});
Список изменений
| С версии 4.4.0 | Введена. |
Где вызывается хук
$title = apply_filters( 'document_title_parts', $title );