wordpress菜单通用代码

1、根据菜单名获取菜单

众所周知,WordPress中可以新建许多菜单,每个菜单中有许多菜单项,这里通过代码实现某个菜单的获取。

function get_nav_menu_by_name($name)
{
	$temp=null;
	$menus = get_terms('nav_menu');
	foreach($menus as $menu)
	{
		if($menu->slug==$name)
		{
			$temp= $menu;
		}
	}
	return $temp;
}

2、从获取的菜单得到一二级菜单项


//当 Flag为 1时,获取的是全部一级菜单
//当 Flag为 2时,获取的是全部二级菜单
function get_whole_nav_menu($menu,$flag=1)
{
	$menu_items=wp_get_nav_menu_items($menu);
	$temp1=array();//临时一级菜单
	$temp2=array();//临时二级菜单
	for($i=0;$imenu_item_parent==0)
		{
			array_push($temp1, $menu_items[$i]);
		}
		else 
		{
			array_push($temp2, $menu_items[$i]);
		}
	}
	if($flag==1)
	{	
		return $temp1;
	}
	else 
	{
		return $temp2;
	}
}

3、根据一级菜单ID获取二级菜单


//根据一级菜单ID获取二级菜单
function get_children_nav_menu($menu,$ID)
{
	$all_child_nav_menu=get_whole_nav_menu($menu,2);
	$child_nav_menus=array();
	if(count($all_child_nav_menu)>0)
	{
		for($j=0;$jmenu_item_parent==$ID)
			{
				array_push($child_nav_menus,$all_child_nav_menu[$j]);
			}		
		}
	}
	return $child_nav_menus;
}
 

https://www.it610.com/article/1294297583954501632.htm