the_archive_titleの「カテゴリー:」や「タグ:」を削除する方法
the_archive_titleでページタイトルを表示する
the_archive_title関数は、category、tag、taxonomyなど、アーカイブページのタイトルをこの関数1つで表示させることが出来ます。超便利!
クエリの内容に基づいてアーカイブのタイトルを表示します。ターム(カテゴリー、タグ、カスタムタクソノミー)、日付、投稿タイプ、投稿フォーマット、作成者などのアーカイブページが対象です。
デフォルトで余計な文字列が入る
the_archive_title関数の使用例。
category.phpやarchive.phpなどに記述します。
<h1><?php the_archive_title(); ?></h1>
出力される文字列がこちら。
「カテゴリー: ほにゃらら」とか「タグ: ふにゃらら」という風に名前の前に余計な文字列が入っています。
この『:(コロン)』より前の部分、要らないんだよなぁ…
という時は、function.phpでフィルターフックして解決!
the_archive_titleの余計な文字列を消す方法
テーマのfunction.php
に、次のコードをコピペします。
/* the_archive_title 余計な文字を削除 */
add_filter( 'get_the_archive_title', function ($title) {
if (is_category()) {
$title = single_cat_title('',false);
} elseif (is_tag()) {
$title = single_tag_title('',false);
} elseif (is_tax()) {
$title = single_term_title('',false);
} elseif (is_post_type_archive() ){
$title = post_type_archive_title('',false);
} elseif (is_date()) {
$title = get_the_time('Y年n月');
} elseif (is_search()) {
$title = '検索結果:'.esc_html( get_search_query(false) );
} elseif (is_404()) {
$title = '「404」ページが見つかりません';
} else {
}
return $title;
});
カテゴリーページの「カテゴリー: 」
タグページの「タグ:」
カスタム投稿一覧の「アーカイブ: 」
タクソノミーの「タクソノミー: 」
日付ページの「月別: 」
それぞれ『:(コロン)』より前の文字列が削除されます。
ついでに「検索結果」と「404エラー」ページの表記も設定しています。
the_archive_title関数1つで、ほぼ全てのタイトルを表記できるので便利です。