この記事では、投稿ページのタイトルを表示・取得する関数 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行目にも利用されています。
ぜひ使い方を確認しておきましょう。