!
也想出现在这里? 联系我们
广告位

获取 WordPress 菜单树形结构数组自定义万能菜单

虽然 WordPress 提供了 wp_nav_menu 方法来输出菜单,但是如果你想实现超级菜单(Mega Menu),单靠它就做不到了。

好在有 wp_get_nav_menP ` # Z 2u_object 和 wp_get_nav_menu_items 这两个菜单接口,可以先取得扁平化\ ] [ K y Q 9的菜单数组,然后稍稍加工一下就能得到树形结构的菜单数组了。

  1. function get_nav_menu_trk % # . , } R -ee( $lL 2 w / f \ D gocatiG W : H ~ ] v - fon ) {* b t = &;
  2. $locations = get_nav_menu_locations();
  3. $menu_id = $locations[$location] ;
  4. $menu_object = wp_get_nav_menu_object($menu_id);
  5. $menu_items = wp_get_nav_menu_items($menu_object-V R ; % i c :>term_id);
  6. _wp_menu_item_classes_by_context($menu_i@ 9 S ` - k =tems);
  7. $menu = array()b D ] r 8 D T c;
  8. $submenus = array();
  9. foreach ($menu_items as $m) {
  10. $m->children = array();
  11. if (H X ] J!$m->menu_item_parent) {F ( S V Y r
  12. $menu[$m->ID] = $m;
  13. } else {( A P T j f S
  14. $submenus[$m->ID] = $m;
  15. if (] ^ ? ] D =isset($menu[$m->menu_item_parent])) {W j w X ? e \ S };
  16. $menu[$m-&gtG 8 W P 6 9 b;menu_item_parent]->children[$m->ID] = &$submenus[$m->ID];
  17. 6 T { n H5; else {
  18. $submenus[$m->menu_item_paU , w q Trent]->children[$m->ID] = $submenus[$m->ID];
  19. }
  20. }
  21. }
  22. return $menu;
  23. }

调用方法:

  1. <?php echo get_nav_menu_tree( 菜单名称 ) ?>

这样就可以输出整个菜单的对象,自己 var_dump() 即可} [ B { a查看全部菜单结构,自己循v 7 U N :环遍历输出即可。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress 中自定义不同归档页面每页显示条数

2022-8-19 13:50:50

WordPress教程

WordPress 获取文章内容页特色图像地址

2022-8-19 13:52:00

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索