カスタム投稿のアーカイブページを用意するとき、archive-***.phpというファイルを用意します。
カスタム投稿のタイプを例えばinfoとすると、アーカイブのファイルはarchive-info.phpというファイルを自動に読みに行きます。
その中にページタイトルをwp-title()と設定すると、記事の一覧データの最初にくるデータからタイトルが出力されるようになっている。そして、そのタイトルはheadのtitleタグにも適用されてしまう。
カスタム投稿を設定するときpost-typeと同時にラベルも設定すると思いますが、そのラベルをタイトルに適用すれば、アーカイブページのタイトルはそのラベルになるのが自然かと思います。
その為、ラベルを取得し、さらにheadのtitleにも適応するには以下の方法でできましたので記録します。
// 記述するコード
get_post_type_object(get_post_type())->label
// titleタグで利用する場合はfunction.phpのどこかに以下を記述
add_theme_support( 'title-tag' );
function change_title_tag( $title ) {
if (is_archive()) {
$title = get_post_type_object(get_post_type())->label;
}
return $title;
}
add_filter( 'pre_get_document_title', 'change_title_tag' );
アーカイブページでタイトルとして利用する場合は、ヘッダータグの前あたりに取得するような感じでいいと思うので、以下のように記述
<?php $title = get_post_type_object(get_post_type())->label; ?>
<h2><?php echo $title; ?></h2>