Afișarea titlului meniului în interiorul funcției array wp_nav_menu
M-am chinuit cu asta pentru un timp. Vreau să apelez un meniu dar să includ și titlul meniului deasupra listei de meniu. Codul de bază pe care îl am este următorul -
<?php wp_nav_menu( array(
'container' => 'div',
'container_class' => 'rmm-footer',
'theme_location' => 'resources'
));
?>
Acesta produce o listă astfel -
Element Meniu 1 Element Meniu 2 Element Meniu 3
Dar vreau să apară astfel -
TITLU Element Meniu 1 Element Meniu 2 Element Meniu 3
Are cineva vreo idee?
Mulțumesc anticipat.

Nu poți obține titlul meniului folosind wp_nav_menu()
, trebuie să obții obiectul meniului astfel:
//Schimbă cu ID-ul meniului tău
$menu_ID = 5;
$nav_menu = wp_get_nav_menu_object( $menu_ID );
// apoi afișează numele meniului
echo $nav_menu->name;
Cu codul de mai sus, poți insera numele meniului în wp_nav_menu()
folosind parametrul items_wrap
. De exemplu:
$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>'
)
);

Este mai bine să nu ne bazăm pe ID-ul meniului, soluția mea va identifica dinamic meniul atașat pentru locația curentă.
1- Mai întâi trebuie să definim o funcție care caută meniul în fișierul nostru functions.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- Apoi putem afișa titlul meniului afișat în orice locație dorim:
$menu_obj = monoprog_get_menu_by_location('menufooterleft');
echo "<h3>".esc_html($menu_obj->name)."</h3>";
doar înlocuiți 'menufooterleft' cu locația înregistrată în tema dumneavoastră.
