投稿にはカテゴリーを複数設定できます。
投稿一覧や投稿画面において、投稿が属するカテゴリーをリンクとして表示させておきたい場面は結構あるかと思います。
特にブログやコラムなんかだとこういう事多いですよね。
これを関数化しておくと結構便利、という話です。
投稿が属するカテゴリーはget_the_categoryを使えば取得できます。
このように。
$my_cats = get_the_category($post->post_ID);
ただこのままだと配列の状態で取得されるので、
通常はリンクなどのHTMLに加工して出力するかと思います。
カテゴリーIDが分かれば、
カテゴリーページへのリンクはget_category_linkを使って取得できます。
foreach ($my_cats as $my_cat) { echo get_category_link($my_cat->cat_ID); }
またどこかで使いそうな感じの処理ですね。
こういった処理は関数化しておくと便利です。
カンマ区切りでカテゴリーリンクを表示する関数を作ってみました。
function get_post_category_link($post_id) { //カテゴリーリスト $my_cats = get_the_category($post_id); if ($my_cats) { $cats_cnt = 0; foreach ($my_cats as $my_cat) { if ($cats_cnt > 0) { echo ', '; } $cat_link = get_category_link($my_cat->cat_ID); echo '<a href="' . $cat_link . '">' . $my_cat->name .'</a>'; $cats_cnt++; } } }
こんな感じで使います。
引数「$post_id」には投稿IDを与えます。
<?php get_post_category_link($post_id); ?>