网站源码-图片-资料下载-学习资料-牛资料网!只做精品资料网
  • 首 页
  • 获取 WordPress 菜单的树形结构数组
    时间:2019-08-09 15:08 来源:www.xyhndec.com 编辑:免费资料 浏览:

    虽然 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:964613048,我们尽快处理。

    wordpress主题调用内置自带jquery库的代码方法wordpress主题调用内置自带jquery库的
    适用于阿里云ACE的WordPress Rewrite规则适用于阿里云ACE的WordPress Rewrite规
    wordpress开发教程:优化用户注册体验(自定义密码)wordpress开发教程:优化用户注册体验
    推荐栏目
    • 客服:我们竭诚为您服务!
    • 客服:我们竭诚为您服务!