概要
get_the_title
フィルタは、WordPress の投稿、ページ、カスタム投稿タイプのタイトルを取得する際に使用されるフィルタです。このフィルタは、特定の条件やニーズに応じて、タイトルを動的に変更したり加工したりするためによく利用されます。以下は、get_the_title
フィルタが使われる典型的な機能や用途です。
- タイトルに特定のプレフィックスやサフィックスを追加する。
- タイトルに特別なフォーマットを適用する。
- タイトルに特定のカスタム情報を挿入する。
- タイトルの言語を翻訳する。
- タイトルを条件に基づいて変更する。
- タイトルの大文字小文字を調整する。
- タイトルを元にしたリンクを生成する。
- SEO目的でタイトルを最適化する。
構文
add_filter( 'the_title', 'your_custom_function', 10, 2 );
パラメータ
the_title
: フィルタ名your_custom_function
: フィルタを処理するコールバック関数名- 第一パラメータ : 取得したタイトル
- 第二パラメータ : 投稿のID
戻り値
フィルタの結果として変更されたタイトル文字列。
関連する関数
詳細は以下のリンクから確認できます。
https://refwp.com/?titleonly=1&s=get_the_title
使用可能なバージョン
WordPress 1.5.0 以降で利用可能です。
コアファイルのパス
wp-includes/post-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( 'the_title', 'add_prefix_to_title', 10, 2 );
function add_prefix_to_title( $title, $id ) {
return 'Prefix: ' . $title;
}
説明: このコードは、すべての投稿タイトルの先頭に “Prefix: ” を追加します。
サンプルコード 2: タイトルを大文字に変換する
add_filter( 'the_title', 'uppercase_title', 10, 2 );
function uppercase_title( $title, $id ) {
return strtoupper( $title );
}
説明: すべての投稿タイトルを大文字に変換します。
サンプルコード 3: 特定の投稿のタイトルを変更する
add_filter( 'the_title', 'modify_specific_title', 10, 2 );
function modify_specific_title( $title, $id ) {
if ( $id == 42 ) {
return 'Special Title for Post 42';
}
return $title;
}
説明: 投稿IDが42の投稿だけに特別なタイトルを設定します。
サンプルコード 4: タイトルにカスタムフィールドの値を追加する
add_filter( 'the_title', 'add_custom_field_to_title', 10, 2 );
function add_custom_field_to_title( $title, $id ) {
$custom_field_value = get_post_meta( $id, 'custom_field_key', true );
return $title . ' - ' . $custom_field_value;
}
説明: 投稿のタイトルの後ろにカスタムフィールドの値を追加します。
サンプルコード 5: SEO最適化のためのタイトル変更
add_filter( 'the_title', 'optimize_title_for_seo', 10, 2 );
function optimize_title_for_seo( $title, $id ) {
return $title . ' | My Site Name';
}
説明: 各投稿タイトルの後にサイト名を追加してSEOを向上させます。