
目次
the_category()の用途
the_category()
は、WordPressで投稿に属しているカテゴリー一覧を表示するためのテンプレートタグです。各カテゴリー名はリンク付きで出力されます。
the_category()の基本構文
the_category( string $separator = '', string $parents = '', int $post_id = false );
the_category()のパラメータ
引数 | 型 | 説明 |
---|---|---|
$separator | string | カテゴリー名の区切り文字列(例:', ' )。省略時は空文字。 |
$parents | string | 親カテゴリーの表示方法。'multiple' (親 > 子)または 'single' (子のみ表示)。 |
$post_id | int | カテゴリーを表示したい投稿の ID(省略時は現在の投稿)。 |
the_category()の使用例
1. カテゴリー名をカンマ区切りで表示
the_category(', ');
→ 出力例:
<a href="...">お知らせ</a>, <a href="...">イベント</a>
2. 親カテゴリーを含めて表示(階層表示)
the_category(' / ', 'multiple');
→ 出力例:
<a href="...">お知らせ</a> / <a href="...">お知らせ > 行事</a>
3. 特定の投稿IDのカテゴリーを表示
the_category(', ', '', 42);
投稿ID 42 のカテゴリー一覧を表示します。
the_category()の注意点
the_category()
は 直接HTMLを出力します。値を取得したい場合はget_the_category()
を使ってください。- 取得されるのは「投稿」タイプに属するカテゴリーです。カスタム投稿タイプでは
get_the_terms()
の利用が推奨されます。
the_category()のカスタマイズ例:カテゴリー名のみ表示(リンクなし)
$categories = get_the_category();
if ( ! empty( $categories ) ) {
$cat_names = wp_list_pluck( $categories, 'name' );
echo implode( ', ', $cat_names );
}
関連関数の違い
関数名 | 説明 |
---|---|
the_category() | 投稿に属するカテゴリーをリンク付きで表示 |
get_the_category() | カテゴリー情報(配列)を取得する(表示しない) |
get_the_category_list() | リンク付きのカテゴリー名一覧を取得(出力はしない) |
get_the_terms() | 任意の投稿に関連付けられたタクソノミー(カテゴリやタグなど)を取得 |
the_category()のよく使う組み合わせ
カテゴリー名の下に説明文を出したい場合:
$categories = get_the_category();
if ( ! empty( $categories ) ) {
foreach ( $categories as $cat ) {
echo '<div class="category-block">';
echo '<h3>' . esc_html( $cat->name ) . '</h3>';
echo '<p>' . esc_html( category_description( $cat->term_id ) ) . '</p>';
echo '</div>';
}
}