single_cat_title
Позволяет изменить заголовок архивной страницы рубрики (категории).
Фильтр срабатывает в функции single_term_title() и для производной от неё функции single_cat_title().
Фильтр срабатывает только на страницах рубрик — когда выполняется условный тег is_category().
Использование
add_filter( 'single_cat_title', 'wp_kama_single_cat_title_filter' ); /** * Function for `single_cat_title` filter-hook. * * @param string $term_name Category name for archive being displayed. * * @return string */ function wp_kama_single_cat_title_filter( $term_name ){ // filter... 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 | Введена. |
Где вызывается хук
$term_name = apply_filters( 'single_cat_title', $term->name );
Где используется хук в WordPress
add_filter( $filter, 'wptexturize' );
add_filter( $filter, 'strip_tags' );