常時見えているメニューなので、animation とかは不要だけど、メニューがだらだら長くなる時があるので、サブメニュー部分は全部隠したい。
でも、今居るページが属している、つまりカレントであるページはメニューに見えていてほしい。その繋がりである、カレントページの兄弟メニューは見えていてほしい。
wp_nav_menu をやめて、直呼び出しにしてPHPに処理させてもいいけど、せっかくなので、jquery で処理してみた。
<script type="text/javascript"> <!--// jQuery(function($){ $(".sub-menu").each(function(){ var $nav = $(this); if (($nav.children().filter(".current-menu-item").length < 1)&& ($nav.parent().filter(".current-menu-item").length < 1)) { $nav.hide(); } }); }); //--> </script>
終わり。
ちなみに、jquery を読み込んだ後でないと動かないので、wp_head() より後ろに書いておくこと。重複して先に読み込んでる、もしくは wp_head 読んでない場合はまあ適当に。