Отображать имя меню с помощью wp_nav_menu

У меня есть пользовательское меню, которое я могу назвать просто отлично, используя wp_nav_menu. Есть ли способ, чтобы название меню отображалось внутри тега h3 перед меню?

Ex.

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

Solutions Collecting From Web of "Отображать имя меню с помощью wp_nav_menu"

Если вы знаете пул меню, тогда все проще, иначе вы можете использовать эту функцию, чтобы получить меню в определенном месте.

 <?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 

Или вместо того, чтобы эхо html, вы можете передать его как часть аргумента для атрибута items в wp_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>') ); 

замените id 4 ниже идентификатором вашего меню. если вы не знаете, что идентификатор переходит на страницу меню администратора, щелкните правой кнопкой мыши на вкладке меню, в котором вы хотите повторить заголовок, проверьте элемент, а идентификатор будет указан как menu = ID в ссылке.

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

ответ Стефана хорош. но я поставил еще один шаг:

 <?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_navigation3», и назначил ему меню wp. теперь разместите этот код, где бы вы ни хотели отображать свое меню.