カスタム投稿のアーカイブページを用意するとき、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>