Mostrare il Titolo del Menu nella funzione wp_nav_menu array
Sto lottando con questo problema da un po'. Voglio richiamare un menu ma includere il titolo del menu sopra l'elenco del menu. Il codice base che ho è il seguente -
<?php wp_nav_menu( array(
'container' => 'div',
'container_class' => 'rmm-footer',
'theme_location' => 'resources'
));
?>
Questo produce un elenco come segue -
Voce Menu 1 Voce Menu 2 Voce Menu 3
Ma voglio che appaia così -
TITOLO Voce Menu 1 Voce Menu 2 Voce Menu 3
Qualcuno ha qualche idea?
Grazie in anticipo.

Non puoi ottenere il titolo del menu utilizzando wp_nav_menu()
, devi ottenere l'oggetto menu come segue:
//Sostituisci con l'ID del tuo menu
$menu_ID = 5;
$nav_menu = wp_get_nav_menu_object( $menu_ID );
// poi mostra il nome del menu
echo $nav_menu->name;
Con il codice sopra, puoi inserire il nome del menu in wp_nav_menu()
utilizzando il parametro items_wrap
. Per esempio:
$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>'
)
);

È meglio non fare affidamento sugli ID del menu, la mia soluzione risolverà dinamicamente il menu associato alla posizione corrente.
1- Prima dobbiamo definire una funzione che cerchi il menu nel nostro 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- Poi mostriamo il titolo del menu visualizzato in qualsiasi posizione desideriamo:
$menu_obj = monoprog_get_menu_by_location('menufooterleft');
echo "<h3>".esc_html($menu_obj->name)."</h3>";
basta sostituire 'menufooterleft' con la posizione registrata nel tuo tema.
