WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

single_cat_title хук-фильтр . WP 2.0.10

Позволяет изменить заголовок архивной страницы рубрики (категории).

Фильтр срабатывает в функции single_term_title() и для производной от неё функции single_cat_title().

Фильтр срабатывает только на страницах рубрик — когда выполняется условный тег is_category().

Использование

add_filter( 'single_cat_title', 'filter_function_name_763' );
function filter_function_name_763( $term_name ){
	// Изменяем...

	return $term_name;
}
$term_name(строка)
Имя рубрики, которое будет использовано в заголовке страницы рубрики.

Примеры

#1 Обрежем длинный заголовок

Допустим, наш сайт не рассчитан на слишком длинные заголовки и нам нужно обрезать их до 20 символов, а в конце добавить многоточие:

add_filter( 'single_cat_title', 'strim_cat_title' );
function strim_cat_title( $title ) {
	return mb_strimwidth( $title, 0, 23, '...' );
}

Минус такого подхода: обрежется текст в теге <title>. Решение: подключить фильтр после вывода title:

add_action( 'wp_head', function() {
	add_filter( 'single_cat_title', 'trim_cat_title' );
} );

function trim_cat_title( $title ) {
	return mb_strimwidth( $title, 0, 23, '...' );
}

#2 Управление выводом заголовка через опции темы

Благодаря этому фильтру можно настроить изменение заголовка в настройках темы. К примеру, задавать цвет заголовка и цвет границы вокруг него.

Отрывок кода ниже взят из темы ColorMag, хотя почти 1 в 1 используется так же в темах из репозитория: ColorNews, The NewsMag, Creative Blog, Madar. Код приведен частично и показывает лишь принцип!

/**
 * Использование хуков для цвета категории в заголовках архива
 */
function colormag_colored_category_title( $title ) {

	$color_value        = colormag_category_color( get_cat_id( $title ) );
	$color_border_value = colormag_category_color( get_cat_id( $title ) );

	if ( ! empty( $color_value ) ) {
		return '<h1 class="page-title" style="border-bottom-color: ' . $color_border_value . '">' . '<span style="background-color: ' . $color_value . '">' . $title . '</span></h1>';
	}
	else {
		return '<h1 class="page-title"><span>' . $title . '</span></h1>';
	}
}

function colormag_category_title_function( $category_title ) {
	add_filter( 'single_cat_title', 'colormag_colored_category_title' );
}

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

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

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

single_term_title()
single_cat_title
wp-includes/general-template.php 1453
$term_name = apply_filters( 'single_cat_title', $term->name );

Где используется хук (в ядре WP)

wp-includes/default-filters.php 148
add_filter( $filter, 'wptexturize' );
wp-includes/default-filters.php 149
add_filter( $filter, 'strip_tags' );
campusboy 3430youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Редакторы: Kama 7631
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться