wp_title()
は、WordPressでページのタイトルを生成するために使用されるテンプレートタグです。WordPressテーマのヘッダーや他のテンプレートファイルで、動的にページのタイトルを表示する際に利用されます。以下にwp_title()
の使い方を詳しく説明します。
基本的な使い方
wp_title()
関数は、次のように呼び出します:
<?php wp_title(); ?>
これにより、現在のページのタイトルが出力されます。例えば、投稿ページでは投稿タイトルが、カテゴリページではカテゴリ名が表示されます。
引数の使用
wp_title()
関数には、3つの引数を指定できます:
- $sep(区切り文字): タイトルと前後のテキストを区切る文字列。デフォルトは空文字列です。
- $display(表示フラグ): タイトルを表示するか返すかを指定するブール値。
true
の場合は表示し、false
の場合は返します。デフォルトはtrue
です。 - $seplocation(区切り文字の位置): 区切り文字の位置を指定する文字列。
'right'
(タイトルの右側)または'left'
(タイトルの左側)が指定できます。デフォルトは''
です。
例えば、次のように使用します:
<?php wp_title('|', true, 'right'); ?>
これにより、タイトルの右側に区切り文字として|
が表示されます。
実際の例
以下は、テーマのheader.php
ファイルで一般的に使用される例です:
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo('charset'); ?>">
<title>
<?php
if (is_front_page()) {
bloginfo('name');
} else {
wp_title('|', true, 'right');
bloginfo('name');
}
?>
</title>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
このコードは、フロントページではサイト名のみを表示し、それ以外のページではページタイトルの後に|
を付けてサイト名を表示します。
wp_title() の非推奨
なお、wp_title()
はWordPress 4.4以降非推奨となっており、wp_title()
の代わりにadd_theme_support('title-tag')
を使用することが推奨されています。これにより、WordPressが自動的にページタイトルを管理するようになります。
新しい方法
add_theme_support('title-tag')
は、WordPressテーマでページタイトルを自動的に管理するための関数です。WordPress 4.1以降、この機能を使用することで、テーマのヘッダーに手動でタイトルタグを記述する必要がなくなり、WordPressが自動的に適切なタイトルを生成します。
基本的な使い方
add_theme_support('title-tag')
を使用するためには、テーマのfunctions.php
ファイルにこの関数を追加します。以下の手順に従って設定してください。
1. functions.php
ファイルを開く
テーマのfunctions.php
ファイルを開きます。このファイルはテーマフォルダーのルートディレクトリにあります。
2. add_theme_support(‘title-tag’)を追加
次に、functions.php
ファイルに以下のコードを追加します:
<?php
function my_theme_setup() {
add_theme_support('title-tag');
}
add_action('after_setup_theme', 'my_theme_setup');
?>
このコードは、テーマのセットアップ時にtitle-tag
サポートを追加します。
3. header.phpファイルを確認
add_theme_support('title-tag')
を使用する場合、header.php
ファイル内でタイトルタグを手動で記述する必要はありません。次のように<title>
タグを削除します:
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo('charset'); ?>">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
4. テーマをカスタマイズ
WordPressが自動的に適切なタイトルを生成するので、<title>
タグを気にする必要がなくなります。ただし、SEOや特定のページでカスタムタイトルを使用したい場合は、フィルターフックを利用してタイトルを変更できます。
カスタムタイトルの設定
wp_title
フィルターフックを使用してカスタムタイトルを設定できます。例えば、以下のようにfunctions.php
ファイルにコードを追加します:
function my_custom_title($title) {
if (is_home() || is_front_page()) {
$title = get_bloginfo('name') . ' | ' . get_bloginfo('description');
}
return $title;
}
add_filter('pre_get_document_title', 'my_custom_title');
この例では、ホームページまたはフロントページに特定のタイトルを設定します。
まとめ
add_theme_support('title-tag')
を使用することで、テーマのヘッダーに手動でタイトルタグを記述する必要がなくなり、WordPressが自動的に適切なタイトルを生成します。これにより、テーマ開発がより簡単になり、タイトル管理が一貫して行われます。