
目次
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>';
}
}