使用wp_NAV_MENU显示菜单名称

时间:2012-03-15 作者:csi

我有一个自定义菜单,我可以使用wp\\u nav\\u菜单调用它。是否有办法将菜单名称显示在菜单前的h3标记内?

例如:。

<h3>My Menu Name</h3>
<nav>
<ul>
<li>Menu Item 1</li>
<li>Menu Item 2</li>
</ul>
</nav>

3 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

如果您知道菜单的slug,那么事情就简单多了,否则您可以使用此函数在指定位置获取菜单。

<?php
function wpse45700_get_menu_by_location( $location ) {
    if( empty($location) ) return false;

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

    $menu_obj = get_term( $locations[$location], \'nav_menu\' );

    return $menu_obj;
}
?>
那么

//if you after the menu the menu with a specific ID / Slug
//$menu_obj =wp_get_nav_menu_object($id_slug_or_name); 

//if you after the menu at a specific location
$menu_obj = wpse45700_get_menu_by_location($location); 

echo "<h3>".esc_html($menu_obj->name)."</h3>";
//Display menu here
或者,您可以将其作为中items属性的参数的一部分传递,而不是回显htmlwp_nav_menu.

例如,要在“primary”位置显示菜单,请执行以下操作:

$location = \'primary\';
$menu_obj = wpse45700_get_menu_by_location($location ); 
wp_nav_menu( array(\'theme_location\' => $location, \'items_wrap\'=> \'<h3>\'.esc_html($menu_obj->name).\'</h3><ul id=\\"%1$s\\" class=\\"%2$s\\">%3$s</ul>\') ); 

SO网友:tbradley22

将下面的id 4替换为菜单的id。如果您不知道id,请进入管理员的菜单页面,右键单击要回显标题的菜单选项卡,检查elemenent,该id将在链接中作为menu=id列出。

<?
$_menu_object = wp_get_nav_menu_object( 4 );
$nav_menu_selected_title = $_menu_object->name;
echo $nav_menu_selected_title;
?>

SO网友:nicmare

斯蒂芬的回答很好。但我更进一步:

<?php 
$location = \'footer_navigation3\';
if (has_nav_menu($location)) :
    $menu_obj = get_menu_by_location($location); 
    wp_nav_menu( array( 
        \'theme_location\'  => $location,
        \'items_wrap\'=> \'<strong>\'.esc_html($menu_obj->name).\'</strong><ul id="%1$s" class="%2$s">%3$s</ul>\'
    )); 
endif;
?>
假设您注册了一个名为“footer\\u navigation3”的主题位置,并为其分配了一个wp菜单。现在,将此代码放置在您想要显示菜单的任何位置。

结束

相关推荐

Menu API not switching menus?

我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph