ワードプレスのwp_get_document_titleフィルタの使用方法・解説

概要

wp_get_document_titleフィルタは、WordPressのページタイトルを取得する際にカスタマイズを行うためのフィルタです。このフィルタを使用することで、ページのタイトルを動的に変更したり、特定の条件に基づいたタイトル形式を適用することができます。以下のような機能を実装する際によく使われます。

  1. タイトルに特定のキーワードを追加する
  2. ページの種類に応じてタイトルフォーマットを変更する
  3. サイト名やブランド名をタイトルに統一して追加する
  4. SEO対策のためにページタイトルを整形する
  5. カスタム投稿タイプのタイトルを変更する
  6. 多言語サイトでのタイトル表示をカスタマイズする
  7. 特定のユーザー役割に基づいたタイトルを生成する
  8. 管理ページのタイトルをカスタマイズする

構文

add_filter( 'wp_get_document_title', 'custom_document_title' );

function custom_document_title( $title ) {
    // ここでカスタマイズしたタイトルを返す
    return $title;
}

パラメータ

  • $title (string) – 現在のページのタイトル。

戻り値

  • (string) – カスタマイズされたタイトルの文字列。

関連する関数

使用可能なバージョン

WordPress 4.4 以降で利用可能です。

コアファイルのパス

wp-includes/general-template.php

この関数のアクションでの使用可能性

アクションフック 使用可能
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプルコード 1: タイトルに特定の単語を追加する

add_filter( 'wp_get_document_title', 'add_keyword_to_title' );

function add_keyword_to_title( $title ) {
    return $title . ' - My Website'; // ウェブサイト名をタイトルに追加
}

このサンプルコードは、ページのタイトルの最後に「 – My Website」を追加します。

サンプルコード 2: 投稿とページで異なるタイトルを設定する

add_filter( 'wp_get_document_title', 'custom_title_for_posts_and_pages' );

function custom_title_for_posts_and_pages( $title ) {
    if ( is_single() ) {
        return 'Post: ' . $title; // 投稿ページの場合
    } elseif ( is_page() ) {
        return 'Page: ' . $title; // 固定ページの場合
    }
    return $title;
}

このコードは、投稿と固定ページで異なるプレフィックスをタイトルに追加します。

サンプルコード 3: SEO最適化のためにタイトルを整形する

add_filter( 'wp_get_document_title', 'seo_optimized_title' );

function seo_optimized_title( $title ) {
    return 'SEO Title: ' . $title; // SEOタイトルを強調
}

このサンプルコードは、SEOに対応した形でタイトルを整形します。

サンプルコード 4: 特定のカスタム投稿タイプのタイトルを変更する

add_filter( 'wp_get_document_title', 'custom_title_for_custom_post_type' );

function custom_title_for_custom_post_type( $title ) {
    if ( get_post_type() == 'custom_type' ) {
        return 'Custom Type: ' . $title; // カスタム投稿のタイトル
    }
    return $title;
}

このコードは、特定のカスタム投稿タイプのタイトルを変更します。

サンプルコード 5: 多言語サイトのタイトルを変更

add_filter( 'wp_get_document_title', 'change_title_for_multilingual' );

function change_title_for_multilingual( $title ) {
    if ( is_language('ja') ) {
        return '日本語タイトル: ' . $title; // 日本語の場合
    }
    return $title;
}

このサンプルは、多言語サイトで日本語の場合のみ特別なタイトルを設定します。

この関数について質問する


上の計算式の答えを入力してください