HOME

ABOUT

ARCHIVES

CONTACT

wordpress

wordpressでページに応じてナビゲーションに任意のclassをつける方法

ウェブサイトを作っていて、ナビゲーションメニューをページ毎に装飾して現在位置を知らせるってよくやる作業ですが、wordpressだとjs使わなくても簡単にできるのでは?と思い試してみたら簡単にできました♡
手順を公開しますね。

KEY SENTENCE

[1] 条件分岐タグを用いて任意のページを認識させる

[2] 実装方法

[1] 条件分岐タグを用いて任意のページを認識させる

ここではナビゲーションメニューに付与する方法を順を追って説明します。

まずは条件分岐タグis_home() やis_page() を用いて追加したい箇所に以下のようにコードを記述します。

<?php if ( 条件分岐タグ ) { echo ' 任意のクラス'; } ?>

上記の’条件分岐タグ’はis_home() やis_page()のこと。任意のクラスは自由に設定して下さい。

例えば、

<?php if ( is_page('12') ) { echo ' active'; } ?>

このように記載した場合、『page numberが12のページの場合に.activeを追加する』という指示になります。

それでは実際に実装してみましょう。

[2] 実装方法

ナビゲーション毎に任意のページの場合クラスが付与されるように指示します。

<nav>
<ul>
<li class="<?php if ( is_home() ) { echo 'active'; } ?>">HOME</li>
<li class="<?php if ( is_page('2') ) { echo 'active'; } ?>">ABOUT</li>
<li class="<?php if ( is_page('4') ) { echo 'active'; } ?>">SERVICE</li>
<li class="<?php if ( is_page('6') ) { echo 'active'; } ?>">WORK</li>
<li class="<?php if ( is_page('8') ) { echo 'active'; } ?>">CONTACT</li>
</ul>
</nav>

これで完了です。非常に簡単、あっという間。

条件分岐タグは他にもsingle,category,tagなど様々な種類があるので、ご自身の構築するサイト毎に適切なものを選んであげましょう。

詳しくはこちらからCodex日本語版