wp_title()
関数はページのタイトルを出力してくれる関数です。
wp_title() 関数とは
アーカイブページや投稿ページ、固定ページなど、リクエストされたページのページタイトルを出力します。
パラメーター
$sep | 区切り文字を指定 デフォルトは » |
$display | 表示するかどうかを指定 デフォルトでは true |
$seplocation | 区切り文字の位置を決める デフォルトでは null |
使い方
最近では、wp_head()
から <title>
タグにて、表示しているページに最適なタイトルを出力してくれる機能が標準で付いているため、以前のように header.php
テンプレートに直接 wp_title
関数を記述することはなくなりました。
しかし、過去の標準テーマのソースコードを確認してみると、多くの標準テーマの内部で利用されていることが確認できます。
利用方法の基本形としては、単純に関数を記述する方法になります。
wp_title();
この記述で得られる出力は、タイトルが「Hello world!」という投稿の場合、
» Hello world!
となります。
加えて、各種パラメーターを指定していくことになるでしょう。
wp_title( '|' );
区切り文字を指定すると、出力は以下のようになります。
| Hello world!
また、第三引数の区切り文字の位置を right
に指定してみます。
wp_title( '|', true, 'right' );
すると、出力は、
Hello world! |
となります。セパレーターの横にはサイトタイトルやキャッチフレーズなどを併記する形が一般的でしょう。ですので、記述としては、
<h1>
<?php wp_title( '|', true, 'right' ); ?>
<?php bloginfo( 'name' ); ?>
</h1>
この結果としては以下のような出力になります。
Hello world! | WordPress-dev
フック
wp_title
apply_filters( ‘wp_title’, string $title, string $sep, string $seplocation )
第一引数に $title
、第二引数に $sep
、第三引数に $seplocation
を取ることができます。
以下のソースコードで値を確認することができます。
add_filter(
'wp_title',
function( $title, $sep, $seplocation ) {
echo '<hr>' . basename(__FILE__) . ' :: ' . __LINE__;
echo( '<pre>' );
var_dump( $title, $sep, $seplocation );
echo( '</pre>' );
echo '<hr>';
},
10,
3
);
まとめ
最近ではあまりテンプレートでも使われなくなった関数 wp_title()
かもしれませんが、WordPress の大切な機能を担っています。ぜひ、動作を確認して把握しておきましょう。