post_type_archive_title()

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Позволяет получить заголовок для страниц архивов типов записей.

Функция ничего не возвращает и не выводит при использовании её не на страницах архивов, проверка кстати выполняется функцией is_post_type_archive().

Заголовок кстати является не чем иным, как свойством объекта WP_Post_Type ->labels->name, который мы можем сами указывать при регистрации типа поста.

post_type_archive_title( $prefix = '', $display = true )

Параметры

$prefix
(строка) Укажите в этом параметре любой текст или HTML-код, который хотите добавить непосредственно перед заголовком. На этот параметр не влияет действие фильтра post_type_archive_title.
$display
(логическое) Укажите в значение false, если хотите, чтобы функция вернула заголовок, а не вывела его.

Примеры

Самое частый вариант использования функции вот такой:

<h1><?php post_type_archive_title(); ?></h1>

Но мы можем сделать этот пример чуточку интересней:

echo post_type_archive_title( 'Архивы: ', false );

Хуки

post_type_archive_title

$title = apply_filters( 'post_type_archive_title', $post_type_obj->labels->name, $post_type );
$post_type_obj->labels->name
(строка) Это как раз значение свойства labels, которое и будет заголовком.
$post_type
(строка) Название типа записи, для архивов которого получаем заголовок.

В примере выше мы добавили перед заголовком Архивы: . Давайте попробуем сделать то же самое при помощи этого фильтра.

add_filter( 'post_type_archive_title', 'true_change_cpt_archive_title', 25, 2 );
 
function true_change_cpt_archive_title( $title, $post_type ) {
	// сделаем это только типа записи "game"
	if( 'game' === $post_type ) {
		$title = 'Архивы: ' . $title;
	}
	return $title;
}

Тут главное будьте осторожны, чтобы ваш префикс не добавился дважды 😉

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии