wordpressの投稿でカテゴリーリストをナビゲーションのように使う時、現在のカテゴリーにハイライト処理をしたいときがある。

普通にタグを使えば、アーカイブやカテゴリーページでは自動的に当該カテゴリーのリストタグに「 current-cat 」というclassが振られるので、それにcssを当てればハイライト処理が可能。

<ul>
<?php wp_list_categories('title_li='); ?>
</ul>

でも、シングルページでは「 current-cat 」というclassは付与されない。そういう時は以下でいけた。

参考サイト:WP Forum
参考サイト
Stack Overflow

<ul>
<?php 
if (!is_page() && !is_home() && !is_single()){ 
$catsy = get_the_category();
$myCat = $catsy->cat_ID; $currentcategory = '&current_category='.$myCat; 
} elseif (is_single()){ 
$catsy = get_the_category(); 
$myCat = $catsy[0]->cat_ID; $currentcategory = '&current_category='.$myCat; 
} 
wp_list_categories('depth=1&title_li='.$currentcategory); ?>
</ul>

複数カテゴリーに登録している記事の場合は、1つのカテゴリーしかcurrentにならないようです。

忘れないようにメモメモ。

 

Site Search

Profile

profile

Web制作を生業にしています。主にHTML, CSS, JavaScript, PHP, WordPressのカスタマイズなどしてます。忘れっぽいので備忘録としてWebの小ネタを書いたり、人生のいろんなことを不定期にのんびり更新しています。小学生男児の母(シングルマザー)です。