结果证明这很容易!不需要特别的助行器,wp_get_nav_menu_items()
返回您需要的所有内容。本例先添加一个根菜单项,然后添加菜单,如果需要,可以使用不同的方法。它映射了我在代码中可以找到的所有额外菜单功能,我不知道您是否可以在菜单UI中全部设置它们。
add_action( \'admin_bar_menu\', \'wpse15186_admin_bar_menu\' );
function wpse15186_admin_bar_menu( &$wp_admin_bar )
{
$menu = wp_get_nav_menu_object( \'WPSE 15186 test menu\' );
$menu_items = wp_get_nav_menu_items( $menu->term_id );
$wp_admin_bar->add_menu( array(
\'id\' => \'wpse15186-menu-0\',
\'title\' => \'WPSE 15186 menu\',
) );
foreach ( $menu_items as $menu_item ) {
$wp_admin_bar->add_menu( array(
\'id\' => \'wpse15186-menu-\' . $menu_item->ID,
\'parent\' => \'wpse15186-menu-\' . $menu_item->menu_item_parent,
\'title\' => $menu_item->title,
\'href\' => $menu_item->url,
\'meta\' => array(
\'title\' => $menu_item->attr_title,
\'target\' => $menu_item->target,
\'class\' => implode( \' \', $menu_item->classes ),
),
) );
}
}