wp_title()
は、WordPress サイトのページごとのタイトルを取得または出力するためのテンプレートタグです。一般的に、HTML の <title>
タグの中で使用され、SEO の観点からも重要な要素となります。
機能の説明
wp_title()
は、現在のページのタイトルを動的に取得し、カスタマイズした形式で出力するテンプレートタグです。これにより、ページごとに異なるタイトルを設定でき、テーマの <head>
部分で主に使用されます。
wp_title();
このテンプレートタグは、デフォルトではサイト名を含まず、タイトルのみを取得・出力します。オプションを使うことで、タイトルの前後に文字列を追加したり、分離記号を設定することができます。
オプションを使ったシンプルなコード例
wp_title( '|', true, 'right' );
上記のコードは、ページタイトルの後に「|」で区切り、次にサイト名を表示する設定をしています。
使い方の解説
wp_title()
は、通常はテーマの header.php
内で使用され、HTML <title>
タグの中に挿入されます。デフォルトでは単にページのタイトルだけを出力しますが、引数を指定して出力フォーマットをカスタマイズできます。
引数
- $sep
-
(区切り文字列)タイトルと他の要素を区切るための文字列(例:
"|"
,"—"
)。 - $display
-
(表示方法)デフォルトでは
true
でタイトルを直接出力しますが、false
にすると値を返すだけで出力しません。 - $seplocation
-
(区切り文字の位置)
"right"
か"left"
を指定し、区切り文字の位置を制御します。
使用例
<head>
<title>
<?php
wp_title( '|', true, 'right' );
bloginfo( 'name' );
?>
</title>
</head>
上記の例では、まず wp_title()
を使ってページごとのタイトルを表示し、その後 bloginfo('name')
でサイトの名前を表示します。タイトルとサイト名の間には |
の区切り文字が入ります。
一緒に使うことが多い関連タグ
bloginfo()
bloginfo()
は、サイトの基本情報(サイト名、URL など)を取得するためのテンプレートタグです。wp_title()
と併用して、サイト名や他の情報をタイトルに含める際に使います。
<head>
<title>
<?php
wp_title( '|', true, 'right' );
bloginfo( 'name' );
?>
</title>
</head>
この例では、wp_title()
でページタイトルを出力し、bloginfo('name')
でサイト名を表示します。|
で両者を区切り、SEO に配慮したページタイトルを生成します。
追加情報を取得したい場合
wp_title()
だけではなく、wp_get_document_title()
を使うと WordPress が自動的に生成したタイトルを取得できます。この方法は、WordPress 4.4 以降推奨されています。
wp_get_document_title()
で取得できる情報
<title><?php echo wp_get_document_title(); ?></title>
wp_get_document_title()
は、WordPress がページごとに自動で生成するタイトルを取得する関数です。wp_title()
よりも柔軟な対応ができ、テーマカスタマイズの際に使用することが推奨されています。
想定されるトラブル
ページタイトルが正しく表示されない
wp_title()
がテーマやプラグインの影響で正しく動作していない可能性があります。
解決方法
wp_title()
の代わりに、wp_get_document_title()
を使用すると、WordPress 標準のタイトル生成機能を利用できます。
<title><?php echo wp_get_document_title(); ?></title>
Q&A
まとめ
wp_title()
は、WordPress サイトのページごとのタイトルをカスタマイズし、SEO 効果を高めるためのテンプレートタグです。ただし、WordPress 4.4 以降では wp_get_document_title()
が推奨されており、最新のテーマ開発ではそちらを使用することを考慮するべきです。