メニューの深さが2以上の場合は、sub-menu
ulと.menu-item-has-children
クラスを削除したいです。
だから、私は最大3サブメニューのメニューが欲しいだけです。他の項目の子はメニューに表示されますが、サブメニューには表示されません。
Wp_nav_menu( 'depth' => 3)では、すべての項目を追加しません。だから、私はカスタムウォーカーナビゲーションを使用する必要があると思います。
start_lvl
でそれをする方法がわかりません。深さを数え、ulとクラスを削除する方法は何ですか?.
私の目的は、このメニューを変更することです。
このメニューへ:
そして、ワードプレスのwp_nav_menu( 'depth' => 3)オプションによって、望ましくない振る舞いが提供されます。
私はこれを試してみました:
function start_lvl(&$output, $depth) {
if($depth >= 2) {
$output .= '';
} else {
$output .= "<ul class='sub-menu'>";
}
}
それは近くうまくいくが、それは私のnavmenuの中のulに関する問題を引き起こす。
一見したところ、何もテストしなくても、得られたコードは機能するはずですが、マークアップにはいくつかの偽の</ul>
があると思います。 end_lvl
メソッドについてもほぼ同じことをする必要があります。
function end_lvl(&$output, $depth) {
if($depth >= 2) {
$output .= '';
} else {
$output .= "</ul>";
}
}
それがあなたのmegamenuの問題なのかどうか私は知りません。