WordPressでタイトルを出力する方法といえば、以前はwp_title()関数をheader.php内に記述するのが一般的でした。WordPress4.4以降では、wp_title()関数が非推奨となり、functions.phpに以下コードを追加することでタイトルを出力してくれるようになっています。
add_theme_support('title-tag');
上記を追加すると、トップページは「サイト名 – キャッチフレーズ」、それ以外のページでは「タイトル – サイト名」という形<title>タグが出力されます。
デフォルトではこのようになっていますが、出力する内容を変更したい場合もあるかと思います。そこで、タイトルの出力内容を変更する方法をご紹介したいと思います。
タイトルの出力内容を変更する方法
タイトルの出力を変更するには、functions.phpに以下のようなコードを記述します。
function title_tags_change( $title_tags ){
$title_tags['title'] = 'タイトル';
$title_tags['tagline'] = 'キャッチフレーズ';
$title_tags['site'] = 'サイト名';
return $title_tags;
}
add_filter( 'document_title_parts', 'title_tags_change' );
例えば、キャッチフレーズが必要ない場合は、以下のようにします。
function title_tags_change( $title_tags ){
$title_tags['title'] = 'タイトル';
$title_tags['tagline'] = '';
$title_tags['site'] = 'サイト名';
return $title_tags;
}
add_filter( 'document_title_parts', 'title_tags_change' );
キャッチフレーズを削除するだけの場合は、以下コードを追加してもOKです。
function tagline_delete($title_tags) {
if ( isset($title_tags['tagline']) ) {
unset( $title_tags['tagline'] );
}
return $title_tags;
}
add_filter( 'document_title_parts', 'tagline_delete' );
キャッチフレーズがタイトルから削除され、トップページではサイト名のみが出力されます。
タイトルのセパレータ(区切り)を変更する方法
タイトルのセパレータを変更したい場合は、functions.phpに以下を追加します。
function title_separator_change($sep) {
$sep = '|';
return $sep;
}
add_filter( 'document_title_separator', 'title_separator_change' );
上記コードを追加すると、デフォルトのセパレータ「-」が「|」に変更されます。
あとがき
セパレータを変更したいケースは結構あるのではないでしょうか。
WordPressサイトでタイトルの出力を変更したい場合は、ぜひ参考にしていただければと思います。