【WordPress】投稿タイトルを取得する関数解説
WordPressの投稿のタイトルを取得する場合、いくつかの関数が用意されています。
しかし、どの関数を使用すればいいのか、使い分けはどうしたらいいのか、ふと疑問に思うこともあります。
今回はWordPressの投稿のタイトルを取得する関数を違いと使い分けのポイントを踏まえてご紹介したいと思います。
この記事の目次を表示
the_title()関数
the_title()
関数は、WordPressで現在の投稿のタイトルを表示する時に使用します。
この関数は、WordPressのループ内で使用することが一般的です。
基本的な使用方法
基本的な使用方法は凄くシンプルで、以下のように記述します。
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_title(); ?>
<?php endwhile; endif; ?>
このコードをsingle.phpやpage.phpなどテーマのテンプレートファイルのループ内で挿入することで、現在の投稿のタイトルを表示することが出来ます。
パラメータ指定
the_title()
関数は、3つのパラメータを指定することが出来ます。
- $before:タイトルの前に挿入するテキストやHTMLタグを指定。
- $after:タイトルの後に挿入するテキストやHTMLタグを指定。
- $echo:タイトルを直接表示するか(true)、文字列として返すか(false)。デフォルトはtrue。
タグで囲う
タイトルの前後に特定のHTMLタグを追加したい場合、以下のように記述します。
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_title('<h1>', '</h1>'); ?>
<?php endwhile; endif; ?>
これで以下のように出力されます。
<h1>投稿タイトルが入ります</h1>
変数に格納する
$echoパラメータ
をfalseに設定すると、タイトルは表示されずに文字列として返されます。
タイトルを他の関数と組み合わせて使用する場合や、後で表示する場合に便利です。
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php $title = the_title('', '', false); ?>
<?php endwhile; endif; ?>
上記のコードでは、タイトルが変数に格納され、後で使用することが出来ます。この後ご紹介するget_the_title()
関数と同等に使用することが出来るようになります。
get_the_title()関数
get_the_title()
関数は、WordPressで現在の投稿や特定の投稿のタイトルを取得する時に使用します。the_title()
関数と異なり、get_the_title()
関数はタイトルを表示するのではなく、文字列として返します。
これにより、タイトルを変数に保存したり、他の関数と組み合わせたりすることができます。
基本的な使用方法
基本的な使用方法はシンプルで、以下のように記述します。
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php echo get_the_title(); ?>
<?php endwhile; endif; ?>
このコードをsingle.phpやpage.phpなどテーマのテンプレートファイルのループ内で挿入することで、現在の投稿のタイトルを取得し、それを表示します。
パラメータ指定(特定の投稿のタイトルを取得)
get_the_title()
関数は、1つパラメータを指定することが出来ます。
- $post_id:投稿IDを指定することで特定の投稿のタイトルを取得。
特定の投稿のタイトルを取得
特定の投稿のタイトルを取得する場合、以下のように記述します。
<?php echo get_the_title(1565); ?>
指定したIDの投稿のタイトルを取得し、表示することが出来ます。投稿IDを指定する場合、必ずしもループ内で使用する必要はありません。
それぞれの関数の違いと使い分け
the_title()
関数とget_the_title()
関数はどちらもWordPressで投稿のタイトルを取得するための関数ですが、主な違いは出力方法とパラメータの数です。
the_title()関数
- 出力方法:タイトルを直接HTMLに出力します。パラメータを指定しなければ文字列として取得し、変数に保存することは出来ません。
- パラメータ:3つ指定することが出来ます。任意の前後のテキストやHTMLタグを指定ことが出来たり、変数に格納することが出来ます。
get_the_title()関数
- 出力方法:タイトルを文字列として取得します。タイトルを変数に保存したり、他の関数と組み合わせたりするために使用されます。
- パラメータ:1つ指定することが出来ます。任意の投稿IDを指定することで、現在のループ外で特定の投稿のタイトルを取得することが出来ます。
使い分けのポイント
直接表示するか、操作が必要か
the_title()
関数は単純にタイトルを表示するのに適しています。
一方、get_the_title()
関数はタイトルをさらに操作したい場合(例:保存、条件分岐、組み合わせなど)に適しています。
ループ内か外か
the_title()
関数は主にループ内で使用します。get_the_title()
関数はループ内外どちらでも使用することが出来ます。
特定の投稿を指定
特定の投稿を指定する場合、get_the_title()
関数を使用します。
まとめ
今回は投稿のタイトルを取得する関数をご紹介しました。
それぞれどんな特性があり、使用が適しているのはどんな場面なのか、それぞれの状況にあった関数を使用していきたいですね。