投稿にはカテゴリーを複数設定できます。
投稿一覧や投稿画面において、投稿が属するカテゴリーをリンクとして表示させておきたい場面は結構あるかと思います。
特にブログやコラムなんかだとこういう事多いですよね。
これを関数化しておくと結構便利、という話です。
投稿が属するカテゴリーは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);
?>