the_title フックの使い方|説明・引数・注意点

説明

the_title は、投稿タイトルを出力する前に、内容を加工できるフィルターです。

基本構文

apply_filters( 'the_title', string $title, int $post_id )

引数

  • $title:タイトル
  • $post_id:投稿ID

戻り値

加工後のタイトルを返します。

使い方(サンプル)

add_filter( 'the_title', function( $title, $id ) {
	return is_admin() ? $title : '【公開】' . $title;
}, 10, 2 );

注意点

  • メニューや「最近の投稿」ウィジェットなど、タイトルを使う全ての場所に影響します。
  • 管理画面に影響しないよう、is_admin() で除外します。

実務での使いどころ

  • 投稿のタイトルの表示を、加工するとき(先頭に「新着」を付けるなど)。

よくあるミスと対処

  • return していない。タイトルが、空になる。
  • メニューの項目や、ウィジェットなど、投稿のタイトル以外にも、適用される。ループの中だけにするなら、in_the_loop() で絞る。
  • タグを含む値を返し、管理画面のタイトルなどが、崩れる。

NG例

add_filter( 'the_title', function ( $title ) {
	return '【新着】' . $title; // メニューの項目などにも付く
} );

OK例

add_filter( 'the_title', function ( $title, $id ) {
	if ( in_the_loop() && is_main_query() ) {
		return '【新着】' . $title;
	}
	return $title;
}, 10, 2 );

使い分け早見表

フィルター 加工する対象
the_title 投稿のタイトル
the_content 投稿の本文
body_class <body> のクラス

関連項目

the_title、add_filter()

公式リファレンス:the_title | WordPress Developer Resources

コメント

タイトルとURLをコピーしました