常時見えているメニューなので、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 読んでない場合はまあ適当に。