Пользовательский заголовок страницы архива для Custom Post Type
Интересно, могу ли я создать пользовательский заголовок страницы для страницы архива моего Custom Post Type? Сейчас я использую:
<title><?php wp_title( '|', true, 'right' ); ?></title>
Для обычных страниц это отображает то, что мне нужно, но на странице архива пользовательского типа записей отображается:
Название Custom Post Type Archive
Возможно ли добавить пользовательский заголовок страницы только для этой страницы?

Вы можете добавить фильтр в файл functions.php вашей темы. Он изменяет мета-заголовок архивной страницы для пользовательского типа записи 'myCPT'.
function new_cpt_archive_title($title){ if ( is_post_type_archive('myCPT') ){ $title = 'Архив пользовательского типа записей - ' . get_bloginfo('name'); return $title; } return $title; } add_filter( 'pre_get_document_title', 'new_cpt_archive_title', 9999 );

Вы можете использовать условный код is_archive в вашем файле header.php для управления заголовком
<?php if(is_archive()): ?>
<title>Архивная страница</title>
<?php else: ?>
<title><?php wp_title( '|', true, 'right' ); ?></title>
<?php endif; ?>

Да, и есть несколько способов сделать это.
Подключите это из файла функций дочерней темы:
function wpsites_add_cpt_archive_page_title() {
if ( is_post_type_archive( 'your-cpt-name' ) )
echo '<h1 class="entry-title">Заголовок архива вашего CPT</h1>';
}
add_action('genesis_before_content', 'wpsites_add_cpt_archive_page_title');
Приведённый выше фрагмент кода использует хук genesis_before_content, который вы можете заменить на специфичный для темы хук или стандартный хук WordPress, например loop_start.
Вы также можете добавить поддержку страницы настроек архива произвольного типа записей в код, который создаёт CPT, если ваша тема это поддерживает.

Теперь вы можете использовать это
<?php
if(archive()) {
if (have_posts() ) :
the_archive_title( '<h1 class="page-title">', '</h1>' );
while ( have_posts() ) :
the_post();
endwhile;
endif;
}
?>
или
<?php
$post_archive = post_type_archive_title('', false);
?>
для вывода записей
<?php if ( is_post_type_archive() ) { ?>
<title><?php post_type_archive_title(); ?></title>
<?php } ?>
справочник

В вашем коде нет проверки на архив пользовательского типа записи. Пожалуйста, [отредактируйте] ваш ответ и добавьте это.

Похоже, автор вопроса спрашивает про элемент <title>
в HTML <head>
.

Вы можете использовать это в вашем заголовке, и название этого вопроса, кажется, не особенно касается HTML-заголовка страницы, а скорее заголовка архива. Люди, находя этот пост, скорее всего, ищут не HTML-заголовок страницы, а обычный заголовок архива.
