WordPress绝对是一个好的开源框架。
在一次次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;$i<count($menu_items);$i++)
{
if($menu_items[$i]->menu_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;$j<count($all_child_nav_menu);$j++)
{
if($all_child_nav_menu[$j]->menu_item_parent==$ID)
{
array_push($child_nav_menus,$all_child_nav_menu[$j]);
}
}
}
return $child_nav_menus;
}