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

the_archive_title() WP 4.1.0

Выводит на экран заголовок архивной страницы, на основе типа страницы (метка, рубрика, дата).

Чтобы получить заголовок для обработки в переменной, используйте get_the_archive_title().

Работает на основе: get_the_archive_title()

Хуков нет.

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

<?php the_archive_title( $before, $after ); ?>
$before(строка)
Текст перед заголовком. Можно указать HTML теги.
По умолчанию: ''
$after(строка)
Текст после заголовка. Можно указать HTML теги.
По умолчанию: ''

Примеры

#1 Выведем заголовок для архивных страниц

Раньше (до 4.1), чтобы в одном файле (например index.php) вывести заголовок для разных архивных страниц (метка, рубрика...) нужно было с помощью условных тегов проверять какая это страница и выводить текст для меток один, для рубрик другой. Для этого мы использовали конструкцию if ... else .... Теперь вся эта логика содержится в функции the_archive_title():

<?php the_archive_title() ?>

Выведет на экран:
Если категория: "Категория: мелодраммы"
Если метка: "Метка: море"
Если архив по году, то: "Год: 2104"

#2 Удалим префикс «Рубрика:», «Метка:» на странице архивов

Для этого используем следующий хук:

## Удаляет "Рубрика: ", "Метка: " и т.д. из заголовка архива
add_filter( 'get_the_archive_title', function( $title ){
	return preg_replace('~^[^:]+: ~', '', $title );
});

Код the_archive_title: wp-includes/general-template.php VER 4.9.8

<?php
function the_archive_title( $before = '', $after = '' ) {
	$title = get_the_archive_title();

	if ( ! empty( $title ) ) {
		echo $before . $title . $after;
	}
}

Cвязанные функции

Из метки: archive (архивы записей)

Еще из метки: title (заголовок)

Еще из раздела: Архивы

Еще из тегов шаблона: Основные

10 комментов
  • Вася

    Как убрать слово РУБРИКА в рубрике?

    9
    Ответить2.1 года назад #
    • Тимофей cайт: timofey.pw

      В файл функции добавь:

      add_filter( 'get_the_archive_title', function ($title) {
      
      	if ( is_category() ) {
      
      			$title = single_cat_title( '', false );
      
      		} elseif ( is_tag() ) {
      
      			$title = single_tag_title( '', false );
      
      		} elseif ( is_author() ) {
      
      			$title = '<span class="vcard">' . get_the_author() . '</span>' ;
      
      		}
      
      	return $title;
      
      });
      4
      Ответить1.8 год назад #
    • Kama6673
      ## Удаляет "Рубрика: ", "Метка: " и т.д. из заголовка архива
      add_filter('get_the_archive_title', function( $title ){
      	return preg_replace('~^[^:]+: ~', '', $title );
      });
      9
      Ответить1.5 год назад #
    • Сергей cайт: lunev.com.ua/ru

      Выводи название категории вот так <?php single_cat_title(); ?>

      3
Здравствуйте, !     Войти . Зарегистрироваться