Hey Folks!
我正在寻找处理超大菜单的最佳WP实践。我的导航菜单有大约400个链接,所以如果我只创建一个菜单,那么它看起来很难看。。。我可以把它分为许多子菜单,但不知道如何正确操作。
考虑创建主菜单,比如说10个子菜单。这看起来会更好,但我的php脚本应该是什么样子呢?现在我有了这个脚本:
<div class="col-md-12">
<?php
wp_nav_menu( array(
\'theme_location\' => \'primary\',
\'container\' => \'div\',
\'container_class\' => \'navbar-collapse navbar-main-collapse\',
\'menu_class\' => \'nav navbar-nav\',
\'fallback_cb\' => \'wp_bootstrap_navwalker::fallback\',
\'walker\' => new wp_bootstrap_navwalker())
);
?>
</div>
提前谢谢。
<小时>
PS. My menu sort of this:
主菜单-
1. item-1
- sub-1
- subsub-1
* subsubsub-1....10
- subsub-2 ....
* subsubsub-1....10
- subsub-20
* subsubsub-1....10
- sub-2 ....
- subsub-1
* subsubsub-1....10
- subsub-2 ....
* subsubsub-1....10
- subsub-20 .....
* subsubsub-1....10
- sub-10
- subsub-1
* subsubsub-1....10
- subsub-2 ....
* subsubsub-1....10
- subsub-20
* subsubsub-1....10
2. item-2
- sub-1
- subsub-1
* subsubsub-1....10
- subsub-2 ....
* subsubsub-1....10
- subsub-20
* subsubsub-1....10
- sub-2 ....
3. item-3
- sub-1
- subsub-1
* subsubsub-1....10
- subsub-2 ....
* subsubsub-1....10
- subsub-20
* subsubsub-1....10
- sub-2 ....
最合适的回答,由SO网友:Dan 整理而成
从第一个角度来看,这似乎是一项艰巨的工作,但实际上,即使我有一点php技能,只要在我的自定义walker类中添加以下代码,也可以解决这个问题:
if ( $depth == 1 ) { // remove this statement if depth check is not required
if (wp_get_nav_menu_object($item->title)) {// checking if item name matches to menu name
$item_output .= wp_nav_menu( array(\'menu\' => $item->title, \'container_class\' => \'mgmenu_tabs_panels\', \'menu_class\' => \'\', \'menu_id\' => \'section\'. $item->ID, \'echo\' => 0 ));
}
}
就这么简单。此脚本将检查创建的菜单名称是否与子菜单项名称匹配,当它们匹配时,脚本将添加该匹配菜单中的所有项。
Basically this script allow you divide any large menu into many smaller ones.