• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >WordPress > 获取 WordPress 菜单的树形结构数组(对象)

获取 WordPress 菜单的树形结构数组(对象)

作者:小兽 字体:[增加 减小] 来源:互联网 时间:2018-11-02

小兽向大家介绍了获取 WordPress 菜单的树形结构数组(对象)等相关知识,希望对您有所帮助

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

好在有 wp_get_nav_menu_object 和 wp_get_nav_menu_items 这两个菜单接口,可以先取得扁平化的菜单数组,然后稍稍加工一下就能得到树形结构的菜单数组了。

function c7sky_get_nav_menu_tree( $location ) {
	$locations = get_nav_menu_locations();
	$menu_id = $locations[$location] ;
	$menu_object = wp_get_nav_menu_object($menu_id);
	$menu_items = wp_get_nav_menu_items($menu_object->term_id);

	_wp_menu_item_classes_by_context($menu_items);

	$menu = array();
	$submenus = array();

	foreach ($menu_items as $m) {
		$m->children = array();

		if (!$m->menu_item_parent) {
			$menu[$m->ID] = $m;
		} else {
			$submenus[$m->ID] = $m;

			if (isset($menu[$m->menu_item_parent])) {
				$menu[$m->menu_item_parent]->children[$m->ID] = &$submenus[$m->ID];
			} else {
				$submenus[$m->menu_item_parent]->children[$m->ID] = $submenus[$m->ID];
			}
		}
	}

	return $menu;
}

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-13较完美的WordPress文章摘要(截断)方案分享
  • 2018-11-02wordpress引入土豆优酷视频真正实现自适应宽高
  • 2018-11-02获取 WordPress 菜单的树形结构数组(对象)
  • 2018-11-02wordpress不同single文章显示不同模板样式插件
  • 2017-05-13wordpress随机调用显示文章的方法总结
  • 2018-11-02解决WP-Postviews计数失效与WP-Super-Cache冲突的办法
  • 2018-11-02Configure SMTP插件解决主机WordPress邮件发送问题
  • 2018-11-02XSnamu企业主题安装设置操作文档
  • 2017-05-13WordPress 3.5 与 wpdb::prepare() 报错解决办法
  • 2018-11-02自定义WordPress后台样式风格

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 如何给wordpress模板命名
    • 如何把word文档内容和图片直接导入到wordpress编辑器
    • wordpress免费自媒体CMS主题:XSinfo主题
    • 关于SSL设置错误引起wordpress网站不能正常访问的处理方法
    • wordpress dynamic_sidebar()函数使用方法
    • WordPress营销型企业主题:XSkobe企业主题
    • 在WordPress网站文章中调用另一个页面内容
    • Wordpress选项标签功能
    • WordPress中WP_Query查询后利用paginate_links函数来分页
    • WordPress评论等级代码 包含博主及友链认证

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有