WordPressで現在表示しているページを判定しclass=”current”を追加する方法

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

今回超お急ぎのお仕事を受けておりまして、その中でヘッダーとフッターに同じメニューを同じデザインで表示したいというご要望がありました。
普通のメニューだったら全然問題ないのですが今回の利用するテーマとの問題やメニューの説明に入力したものを表示したい、しかもメニューの上にというものだったので思わずひるんでしまいそうでした。

一番やっかいだったのは説明を上に出すタイプです。
メニューの上に英字を表示するのですが、通常英字は下に出すことが多く、ネットで散見する情報も下ばかり。
何故か上部のグローバルメニューはflexを解除したら上に英字が出てきました。

しかしながらフッターのメニューは同じようにしているつもりなのに、いつも通り下に英字が出ます。

そんなこんなで試行錯誤してフッターはHTMLにしました。
ただ、その場合現在地にクラスにcurrentが自動付与されないわけですね。
jQueryで追加する方法などやってみましたが、うまく動きません。
慣れないテーマと言う事もあり、急ぎのため検証する時間があまりないので必死に探してテストした結果。。。
じゃーん、すごい!
下のコードでうまくいきました!

<li id="menu-item-31" class="menu-item menu-item-31 <?php if ( is_page('securty') ) { echo ' current'; } ?>">
<a href="/star_new/securty/" class="nav__link"><span>Securty</span><br><span class="nav__title">防犯事業</span></a></li>
<?php if ( is_page('securty') ) { echo ' current'; } ?>

そうそうこれは「このページはsecurtyかい? それならここにcurrentだすよ」のおまじないなのですね。

↓すっごく参考になったサイトです。

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

でも私おバカなので最初上記サイトのまんま

<?php if ( is_page('programming') ) { echo ' current'; } ?>

で試して「ダメだな」と思ったんです。
よく考えたらprogrammingのところはページのスラッグにしなくちゃダメですよね。
そうしましたらちゃんと追加されました。

深いところを理解してないから駄目なんですよね。
毎日勉強。。。くたくたになりました。

もしお役に立てたり、クスッとして頂いたりご共感頂けた際にはポチっとして頂けますと記事への情熱になったりしなかったり。。。

  • にほんブログ村 子育てブログへ
  • にほんブログ村 IT技術ブログ WordPressへ
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

コメントを残す

*

CAPTCHA