WordPressのループ内で記事に設定してあるカテゴリーを1つだけ出力する方法

WordPressのループ内で記事に設定してあるカテゴリーを1つだけ出力する方法

WordPressのループ内で記事に設定してあるカテゴリーを1つだけ出力する方法

WordPressのループ内でカテゴリー名を1つだけ出力する方法をご紹介いたします。

カテゴリーをリンク付きで出力する関数としてはthe_category()関数が簡単ですが、the_category()関数だと設定してあるすべてのカテゴリーが出力されます。

デザインの関係で、複数のカテゴリーが設定されていても、出力するカテゴリーは1つだけにしたい場合もあるかと思いますので、その方法をご紹介したいと思います。

WordPressのループ内で記事に設定してあるカテゴリーを1つだけ出力する方法

記事に設定してあるカテゴリーを1つだけ出力するには、ループ内で以下のように記述します。

<?php
$cat = get_the_category();
$catid = $cat[0]->term_id;
$catname = $cat[0]->cat_name;
$catslug = $cat[0]->slug;
?>
<a href="<?php echo esc_url(get_category_link($catid)); ?>" class="cat-<?php echo esc_attr($catslug); ?>"><?php echo esc_html($catname); ?></a>

まずはget_the_category()でカテゴリーの情報を取得し、$catidには1つ目のカテゴリーのID、$catnameには1つ目のカテゴリー名、$catslugに1つ目のスラッグを代入しています。

それらをテーマ内で出力することで、設定してあるカテゴリーの1つ目だけを表示できます。リンクが必要ない場合は、a要素は削除してください。

あとがき

カテゴリーを複数設定する可能性があるサイトでは、結構使える方法だと思います。1つ目だけでなく、2つ目も出力したい場合は、「$cat[1]->cat_name」も出力すればOKです。$cat[0]が1つ目、$cat[1]が2つ目のカテゴリー情報になります。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です