从Theme_Location获取菜单对象

时间:2011-09-25 作者:Morhaus

我想从其主题位置参数中获取一个菜单对象。

我的目标是分别输出菜单名及其项名称、url和描述。

我正在寻找的示例:

$menu = get_menu(\'nav-menu\'); //get menu from its theme location
echo $menu->name; //displays the menu name
foreach($menu->items as $item){
    echo \'<a href="\'.$item->link\'">\'.$item->name.\'</a>\'; //displays a link to the item destination
    echo $item->description; //displays the item description
}

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

This method looks like what you\'re looking for, 使用get\\u nav\\u menu\\u locations()和get_term():

$theme_locations = get_nav_menu_locations();

$menu_obj = get_term( $theme_locations[$theme_location], \'nav_menu\' );

$menu_name = $menu_obj->name;
(有关定制函数中的整个内容,请参见链接;上面的代码只是突出显示了相关的WP函数,以获取您想要的内容。)

SO网友:user2912903

或者,如果您需要在一行中使用它,只需复制它,并用我们自己的替换“更改此位置段塞”。

$string = get_term(get_nav_menu_locations()[\'change-this-location-slug\'], \'nav_menu\')->name;

结束