記事が属するカテゴリーは the_category() で、タグは the_tags() で出力することができる。
「CATEGORY:カテゴリー名 | TAG: タグ名」という形で表示する例
複数のタグやカテゴリーを表示するときは「,(カンマ)」で区切るように指定する。
また、カテゴリーやタグを指定せずに投稿を保存した場合、
- 「カテゴリー」は初期状態で用意されたカテゴリー(未分類)に分類される
- 「タグ」は未指定のままになる
つまり、カテゴリーは必ず存在するが、タグは存在しない可能性があるので「| TAG:」という文字列は、タグが存在する場合のみに出力する。
<p class="postmeta">
CATEGORY: <?php the_category(', '); ?>
<?php the_tags(' | TAG: ', ', '); ?>
<?php //投稿にタグを付けていない場合は、通常 the_tags 関数は何も出力しない ?>
</p>
または、
<p class="postmeta">
CATEGORY: <?php the_category(', '); ?>
<?php if(has_tag()): ?>
| TAG: <?php the_tags('', ', '); ?>
<?php endif; ?>
</p>
-
the_category( $sep, $parents, $post_id )
-
その投稿が属するカテゴリーの一覧を出力する。
-
このタグはループの中で使わなければならない。
-
パラメータ(全てオプション)
$sep セパレータ(文字列):個々のカテゴリーを区切る文字列。
デフォルトでは「空」で、ul 要素でリンクを出力
$parents 親子関係(文字列):カテゴリリンクで「親子」関係をどう表示するか。
デフォルトは'single'で子カテゴリのみへのリンクを表示。
'multiple' を指定すると、親・子カテゴリへのリンクを分けて表示
$post_id 投稿ID(整数):カテゴリを取得したい投稿 ID
デフォルトは「false」(現在の投稿)
-
戻り値:なし
- パラメータなしで呼び出した場合、カテゴリーの一覧は順序なしリスト( ul )で出力される。
- 個々のカテゴリーを区切る文字(セパレータ)を指定すると、カテゴリーの一覧は「ul/li 要素」では囲まれず、個々のリンクの間に、セパレータの文字列が出力される。
-
the_tags( $before, $sep, $after )
-
個々の投稿に付けたタグを出力する
-
このタグはループの中で使わなければならない。
-
パラメータ(全てオプション)
$before 前文字列(文字列):タグ一覧の前に表示する文字列。
デフォルトは「Tags(タグ):」。
$sep セパレータ(文字列): 各タグの間に表示する文字列。
デフォルトは、カンマ(, )。
$after 後文字列(文字列):最後のタグの後ろに表示する文字列。
デフォルトなし。
-
戻り値:なし
the_tags()の基本的な使い方(パラメータなしの場合)
- 「タグ:」という文字列の後に、投稿に付けたタグの一覧が、カンマで区切られて出力される
- デフォルトの「タグ:」を変更するには、前文字列パラメータを指定する
- 個々のタグは、そのタグのアーカイブページへのリンクになる
- 投稿にタグを付けていない場合は、通常 the_tags 関数は何も出力しない
前文字列/セパレータ/後文字列を指定してリストとして出力する例
タグの一覧を出力する際に、その前後と個々のタグの間に、任意の文字列を出力できる。
次のように記述すると、タグの一覧を「ul/li」要素で出力できる。
<?php the_tags( '<ul><li>', '</li><li>', '</li></ul>'); ?>
<ul>
<li>タグ1</li>
<li>タグ2</li>
…
</ul>