wp_title()

wp_title()

wp_title()は、WordPressでページのタイトルを生成するために使用されるテンプレートタグです。WordPressテーマのヘッダーや他のテンプレートファイルで、動的にページのタイトルを表示する際に利用されます。以下にwp_title()の使い方を詳しく説明します。

目次

基本的な使い方

wp_title()関数は、次のように呼び出します:

<?php wp_title(); ?>

これにより、現在のページのタイトルが出力されます。例えば、投稿ページでは投稿タイトルが、カテゴリページではカテゴリ名が表示されます。

引数の使用

wp_title()関数には、3つの引数を指定できます:

  1. $sep(区切り文字): タイトルと前後のテキストを区切る文字列。デフォルトは空文字列です。
  2. $display(表示フラグ): タイトルを表示するか返すかを指定するブール値。trueの場合は表示し、falseの場合は返します。デフォルトはtrueです。
  3. $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が自動的に適切なタイトルを生成します。これにより、テーマ開発がより簡単になり、タイトル管理が一貫して行われます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次