この記事では、投稿ページのタイトルを表示・取得する関数 single_post_title() について紹介します。
single_post_title() 関数とは
この関数は、投稿タイトルを表示するために single.php テンプレートで利用されることを想定して最適化されています。
タイトルの後ろに区切り文字を設定することはできませんが、 $prefix を空にしておくことで、タイトルの区切り文字を手動で設定することができます。
また、$prefix はそれらの前後には自動的にスペースを挿入しないので、任意で入れる必要があります。
パラメーター
$prefix | タイトルの前に表示したいものを設定できる |
$display | 表示するかしないかを設定できる |
使い方
基本的には、single.php テンプレートにそのまま関数を設置する利用方法が一般的です。
single_post_title();$prefix を指定すると以下のようになります。
single_post_title( '投稿タイトル:' );出力はこのようになります。
投稿タイトル:Hello world!フック
single_post_title
apply_filters( ‘single_post_title’, string $_post_title, WP_Post $_post )
第一引数に $_post_title 、第二引数に $_post が利用できます。
こちらのコードで試すことができます。
add_filter(
'single_post_title',
function ( $_post_title, $_post ) {
echo '<hr>' . basename(__FILE__) . ' :: ' . __LINE__;
echo( '<pre>' );
var_dump( $_post_title, $_post );
echo( '</pre>' );
echo '<hr>';
return $_post_title;
},
10,
2
);まとめ
クラシックテーマ開発において投稿記事ページを作る際に、タイトル表示では利用することが多い関数でしょう。実際に、WordPress 標準テーマ Twenty Twenty-One の index.php 21行目にも利用されています。
ぜひ使い方を確認しておきましょう。











