WP
single.phpでもカテゴリーにカレントクラスをつけたい
ウィジェットを利用して投稿カテゴリーを表示するのに、
sidebar.phpなどを複数のテンプレートで読み込んでいると、
archive.phpではデフォルトでcurrent-catクラスが付与されるが、
single.phpではクラスが付与されない。
装飾などの兼ね合いで詳細ページでもcurrent-catを付けたい場合は
<?php dynamic_sidebar('side_category'); ?>
<?php if ( is_single() ): ?>
<?php
$category_id = $categories[0]->cat_ID;
$category_class = 'cat-item-' . $category_id;
?>
<script>
var cc = '<?php echo $category_class; ?>';
// console.log(cc);
var targetElement = document.getElementsByClassName(cc);
// console.log(targetElement);
targetElement[0].classList.add("current-cat");
</script>
<?php endif; ?>
とすると、クラスが付与された。
簡易にまとめると
phpで取得したカテゴリーIDをjs側で受け取ってクラス付与という流れ。