【WordPress】現在のページのタグと一致するタグ一覧のタグの色を変える。

電脳備忘録

グローバルメニューなどで現在表示されてるページのメニューの色を変えることはよくあります。現在地表示とでもいうのでしょうか。
最初の実装では、タグを複数選ぶと選んだタグすべてにcurrentを付与してしまったので、現在表示しているタグのスラッグを取得し、一致するものに対してcurrentを付与するようにしました。とりあえずこれで良しでございます。

<ul>
<?php
//現在のページのタグを取得
$term_object = get_queried_object(); // タームオブジェクトを取得
$slug = $term_object->slug; // タームスラッグ
//
$term_list = get_terms('post_tag');
$result_list = [];
?>
<?php foreach ($term_list as $term): ?>
<li><a href="<?php echo $u = (get_term_link( $term, 'post_tag' )); ?>"<?php
$tag_id = $term->term_id;
//タグのスラッグを取得
$term_slug = $term -> slug;
if ($slug == $term_slug) {
echo ' class="current"';
}
?>><?php echo $term->name; ?>
</a></li>
<?php endforeach; ?>
</ul>

広告

ブログの維持費に充てるでございます・・・。