Позволяет получить заголовок для страниц архивов типов записей.
Функция ничего не возвращает и не выводит при использовании её не на страницах архивов, проверка кстати выполняется функцией 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; }
Тут главное будьте осторожны, чтобы ваш префикс не добавился дважды 😉