在wp_NAV_MENU数组函数中调用菜单标题

时间:2015-01-07 作者:user3193817

已经为此挣扎了一段时间。我想调用菜单,但在菜单列表上方包含菜单标题。我的基本代码如下-

<?php wp_nav_menu( array(
\'container\'       => \'div\',
\'container_class\' => \'rmm-footer\',
\'theme_location\'  => \'resources\'
));
?>
这将生成如下列表-

菜单项1菜单项2菜单项3

但我希望它是这样的-

标题菜单项1菜单项2菜单项3

有人有什么想法吗?

提前谢谢。

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

无法使用获取菜单标题wp_nav_menu(), 您需要按如下方式获取菜单对象:

//Change with the ID of your menu
$menu_ID = 5;
$nav_menu = wp_get_nav_menu_object( $menu_ID );
// then echo the name of the menu
echo $nav_menu->name;
使用上述代码,可以在中插入菜单名称wp_nav_menu() 使用items_wrap 参数例如:

$menu_ID = 5;
$nav_menu = wp_get_nav_menu_object( $menu_ID );
wp_nav_menu( array(
                 \'theme_location\'  => \'resources\',
                 \'container\'       => \'div\',
                 \'container_class\' => \'rmm-footer\',
                 \'items_wrap\'      => \'<ul><li id="item-id">\'.$nav_menu->name.\'</li>%3$s</ul>\'
             )
);

SO网友:Chtiwi Malek

最好不要依赖菜单Id,我的解决方案将动态解析当前位置的附加菜单。

1-首先,我们需要定义一个在函数中查找菜单的函数。php:

function monoprog_get_menu_by_location($location) {
    if(empty($location)) return false;

    $locations = get_nav_menu_locations();
    if(!isset($locations[$location])) return false;

    return get_term( $locations[$location], \'nav_menu\' );
}
2-然后,让我们在想要的任何位置显示菜单的标题:

$menu_obj = monoprog_get_menu_by_location(\'menufooterleft\');
echo "<h3>".esc_html($menu_obj->name)."</h3>";
只需更换\'menufooterleft\' 在主题中注册位置。

结束

相关推荐

Wordpress Remove Submenus

我在这里找到了一个已回答的问题Remove menus and submenus 2 Answers 对于我的问题,但是否有一种方法可以稍微更改代码,以便删除所有编辑器角色的子菜单。不仅仅针对一个用户?有没有办法改进这段代码?我正在使用3.5.1 WordPress版本code that I am using: add_action(\'_admin_menu\', \'remove_editor_submenu\', 1); function remove_editor_submenu() {&