WordPressで記事が属するカテゴリをすべて表示する
アーカイブページなどで、記事一覧を表示している時に、その記事が属するカテゴリをすべて表示する方法です。
コード
<ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a>
<?php
$str=”;
foreach((get_the_category()) as $cat){
$str.='<span class=”category”>’.$cat->cat_name. ‘</span> ‘;
}
echo $str
?>
<span><?php the_excerpt(); ?></span></li>
<?php endwhile; else: ?>
<li>記事はありません。
<span>現在、記事は投稿されていません。</span></li>
<?php endif; ?>
</ul>
解説
<?php while (have_posts()) : the_post(); ?>
<li><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a>
この部分は記事タイトルをリスト表示するループ部分です。
この下に、カテゴリを表示するコードを書きます。
<?php
$str=”;
foreach((get_the_category()) as $cat){
$str.='<span class=”category”>’.$cat->cat_name. ‘</span> ‘;
}
echo $str
?>
$strにその記事が属するすべてのカテゴリ名を格納します。その際、カテゴリを<span>タグで囲っています。クラス名「category」を割り当てているので、CSSで見た目を調整することができます。
関連記事