概要
wp_get_document_title
フィルタは、WordPressのページタイトルを取得する際にカスタマイズを行うためのフィルタです。このフィルタを使用することで、ページのタイトルを動的に変更したり、特定の条件に基づいたタイトル形式を適用することができます。以下のような機能を実装する際によく使われます。
- タイトルに特定のキーワードを追加する
- ページの種類に応じてタイトルフォーマットを変更する
- サイト名やブランド名をタイトルに統一して追加する
- SEO対策のためにページタイトルを整形する
- カスタム投稿タイプのタイトルを変更する
- 多言語サイトでのタイトル表示をカスタマイズする
- 特定のユーザー役割に基づいたタイトルを生成する
- 管理ページのタイトルをカスタマイズする
構文
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;
}
このサンプルは、多言語サイトで日本語の場合のみ特別なタイトルを設定します。