the_title_attribute() の使い方|説明・引数・注意点

説明

the_title_attribute() は、投稿のタイトルを、HTMLの属性値(title や alt など)の中で使えるように、エスケープして出力する関数です。

基本構文

the_title_attribute( string|array $args = '' ): void|string|null

引数

  • before:タイトルの前に付ける文字列
  • after:タイトルの後に付ける文字列
  • echo:true で出力、false で戻り値として返す(既定は true)
  • post:投稿のIDまたはオブジェクト(省略すると、現在の投稿)

戻り値

echo が true(既定)のときは、出力のみ。false のときは、文字列を返します。

使い方(サンプル)

<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
	<?php the_title(); ?>
</a>

注意点

  • HTMLのタグは取り除かれ、属性値として使える形にエスケープされます。
  • ループの中で使います。

実務での使いどころ

  • title 属性や alt 属性に、投稿のタイトルを入れるとき。
  • リンクの aria-label に、タイトルを入れるとき。

よくあるミスと対処

  • the_title() を属性値に使い、タイトルの中の引用符やタグで、HTMLが壊れる。
  • 値として使いたいのに、echo を false にしておらず、その場に出力されてしまう。

NG例

<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> <!-- タイトルに引用符があると、壊れる -->

OK例

<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">

使い分け早見表

関数 特徴
the_title_attribute() 属性値用にエスケープして出力する
the_title() 本文中に出力する(HTMLを含み得る)
get_the_title() タイトルを、文字列として取得する

関連項目

the_title()、get_the_title()

公式リファレンス:the_title_attribute() | WordPress Developer Resources

コメント

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