【WordPress】表示しているページにクラスcurrentを付与するには

電脳備忘録

jQueryで、DOM構築時に現在表示しているページにクラスcurrentを付与する方法はありますが、PHPでページテンプレートごとに処理できないかとググったところ、 まさにやりたいことが解説されているページがあり、何とか対応することができましたので、忘れないうちにメモしておきます。

今回はホームとカテゴリで指定したかったので、下記のように書きました。

<ul class="gmenu">
<li class="<?php if ( is_home('/') ) { echo ' current'; } ?>"><a href="/">ホーム</a></li>
<li class="<?php if ( is_category('elevator') ) { echo ' current'; } ?>"><a href="/diary">日記</a></li>
</ul>

is_page()では、固定ページのみの判別になりますが、ほかのページを判別するための関数も用意されています。
is_home() || is_category() || is_archive() || is_search() || is_single() || is_date()
などが用意されており、特に「is_category()」はカテゴリーごとに指定できるので重宝すると思います。

WordPressで現在表示しているページを判定しclass="current"を追加する方法(カレント表示)

広告

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