1. HOME > 
  2. ブログ・お知らせ > 
  3. WordPress > 
  4. カテゴリ一覧で閲覧中の個別記事が属する複数カテゴリをハイライト表示

ライラックミモザのブログ・お知らせ

2014年11月3日

カテゴリ一覧で閲覧中の個別記事が属する複数カテゴリをハイライト表示

サイドバーのカテゴリ一覧等で、現在閲覧中の個別記事が複数のカテゴリに属しているとき、該当するカテゴリをすべてハイライト表示させる方法です。
下記のフォーラムの記事を参考にさせていただきました。
参考:「カスタム分類内容を全て出力し、選択したものだけクラスを付与したい

<?php
$taxonomy = 'カスタムタクソノミー名';
$args = array(
'hide_empty' => true,
);
$terms = get_terms($taxonomy, $args);
if(count($terms) != 0) {
echo '<ul>';
foreach ($terms as $term) {
if (is_object_in_term(get_the_ID(), $taxonomy, $term->slug)) {
echo '<li class="current-cat"><a href="'.get_term_link($term, $taxonomy).'" title="'.esc_attr(sprintf(__("View all posts in %s"), $term->name)).'">'.$term->name.'<span> ('.$term->count.')</span></a>';
} else {
echo '<li><a href="'.get_term_link($term, $taxonomy).'" title="'.esc_attr(sprintf(__("View all posts in %s"), $term->name)).'">'.$term->name.'<span> ('.$term->count.')</span></a>';
}
echo '</li>';
}
echo '</ul>';
}
?>

上記を個別記事のテンプレートに反映すると、閲覧中の記事が該当するカテゴリすべてに「current-cat」というclassが付与されるので、あとはCSSを書けばOKです。

ブログ・お知らせトップへ