WordPress как на ладони

document_title_partsхук-фильтрWP 4.4.0

Позволяет изменить заголовок (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(строка)
    Описание сайта на любой странице, кроме домашней.

Примеры

0

#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;
}
0

#2 Удаление названия сайта в конце заголовка

Ко всем заголовкам на отдельных страницах is_singular() добавляется название сайта через разделитель. Это не всегда хорошо, давайте поправим этот момент:

add_filter( 'document_title_parts', function( $parts ){
	if( isset($parts['site']) )
		unset($parts['site']);

	return $parts;
});
0

#3 Удаление описания сайта из заголовка главной страницы

На главной странице title по умолчанию выводится по шаблону "Название сайта - описание сайта". Чтобы удалить описание сайта, воспользуйтесь кодом:

// удалим описание сайта из заголовка для главной страницы
add_filter( 'document_title_parts', function( $title ){
	if( isset($title['tagline']) )
		unset( $title['tagline'] );

	return $title;
});

Список изменений

С версии 4.4.0 Введена.

Где вызывается хук

wp_get_document_title()
document_title_parts
wp-includes/general-template.php 1268
$title = apply_filters( 'document_title_parts', $title );

Где используется хук в WordPress

Использование не найдено.
6 комментариев
    Войти