WordPress | head内のtitleタグにカテゴリ名を自動挿入する方法

2023-02-21WordPress カスタマイズ,WordPress

WordPress | head内のtitleタグにカテゴリ名を自動挿入する方法

WordPressの記事ページにて<head>内の<title>タグにカテゴリ名を自動挿入する方法と必要なサンプルコードを紹介しています。

titleタグにカテゴリ名を自動挿入する

titleタグにカテゴリ名を自動挿入するにはadd_filter()関数に「document_title_parts」を指定してタイトルが読み込まれる際にタイトルタグを書き換える事で実装可能です。

記事ページにて<head>内の<title>タグにカテゴリ名を自動挿入した際の結果は、例えば以下のようになるものとします。

<title>記事名 | カテゴリ名 | ブログ名</title>
// titleタグにカテゴリ名を入れる
function titleParts( $title ) {
	if ( is_single() ) {
		$catName = get_the_category();
		$catName = $catName[0];
		$title['title'] .= '|'.get_cat_name($catName->term_id);
	}
	return $title;
}
add_filter( 'document_title_parts', 'titleParts' );

カテゴリ名 | 記事名 | ブログ名 にする場合は以下のようになります。

<title>カテゴリ名 | 記事名 | ブログ名</title>
// titleタグにカテゴリ名を入れる
function titleParts( $title ) {
	if ( is_single() ) {
		$catName = get_the_category();
		$catName = $catName[0];
		$title['title'] .= get_cat_name($catName->term_id).'|';
	}
	return $title;
}
add_filter( 'document_title_parts', 'titleParts' );

【カテゴリ名】記事名 | ブログ名 にする場合は、以下のように記述します。

<title>カテゴリ名 | 記事名 | ブログ名</title>
// titleタグにカテゴリ名を入れる
function titleParts( $title ) {
	if ( is_single() ) {
		$catName = get_the_category();
		$catName = $catName[0];
		$title['title'] .= '【'.get_cat_name($catName->term_id).'】';
	}
	return $title;
}
add_filter( 'document_title_parts', 'titleParts' );

※ サンプルコードでは複数のカテゴリがある場合は先頭のカテゴリのみを表示する様にしています。