
目次
wp_title()の用途
wp_title()
は、WordPressのテンプレートタグの一つで、ページのタイトルを出力するために使用されてきた関数です。ですが、現在では非推奨(deprecated)となっており、代わりに add_theme_support( 'title-tag' )
を使って <title>
要素を WordPress に任せる方法が推奨されています。
wp_title()の基本情報
項目 | 内容 |
---|---|
関数名 | wp_title() |
目的 | ブラウザのタブや検索結果などに表示されるページタイトルの出力 |
現在のステータス | 非推奨(推奨されるのは add_theme_support( 'title-tag' ) ) |
利用される場所 | 通常は header.php の <title> タグの中 |
wp_title()の書式
wp_title( $sep = '»', $display = true, $seplocation = '' );
wp_title()のパラメータ
引数 | 型 | 説明 |
---|---|---|
$sep | 文字列 | タイトルの区切り文字(例:» や ` |
$display | ブール値 | true なら出力、false なら戻り値として返す(文字列取得用途) |
$seplocation | 文字列 | 区切り文字の位置('right' or 'left' ) |
wp_title()の使用例(旧来)
<title>
タグ内で使う例
<title><?php wp_title('|', true, 'right'); ?></title>
この場合の出力例
ブログ記事のタイトル | サイト名
ただしこの方法は WordPress 4.1 以降は非推奨です。
現在の推奨方法(wp_title() の代替)
現在は以下の方法が推奨されます。
1. functions.php
に以下を記述
add_theme_support( 'title-tag' );
2. header.php
の <title>
タグは削除
WordPressが自動で <title>
を <head>
に出力してくれます(wp_head()
の中で)。
wp_title()はどうして非推奨になったの?
wp_title()
はテーマ側で <title>
を個別に構成する必要があり、カスタマイズが煩雑でした。WordPressコアがタイトルを適切に制御できるようにするため、title-tag
のテーマサポートが導入されました。
カスタマイズしたい場合
title-tag
を有効にしたうえで、フィルター document_title_parts
を使ってカスタマイズします。
例:サイト名を末尾に変更
add_filter( 'document_title_parts', 'my_custom_document_title' );
function my_custom_document_title( $title ) {
// 例)「記事タイトル | サイト名」 → 「サイト名 | 記事タイトル」
if ( is_single() ) {
$site = $title['site'];
$title['site'] = $title['title'];
$title['title'] = $site;
}
return $title;
}
まとめ
項目 | 内容 |
---|---|
wp_title() | タイトルを出力する旧関数(非推奨) |
推奨される方法 | add_theme_support('title-tag') を使い、WordPressに任せる |
カスタマイズ方法 | document_title_parts フィルターで柔軟に制御 |