Llamar al título del menú dentro de la función array wp_nav_menu
He estado luchando con esto por un tiempo. Quiero mostrar un menú pero incluir el título del menú sobre la lista del menú. El código básico que tengo es el siguiente -
<?php wp_nav_menu( array(
'container' => 'div',
'container_class' => 'rmm-footer',
'theme_location' => 'resources'
));
?>
Esto produce una lista así -
Elemento de Menú 1 Elemento de Menú 2 Elemento de Menú 3
Pero quiero que se muestre así -
TÍTULO Elemento de Menú 1 Elemento de Menú 2 Elemento de Menú 3
¿Alguien tiene alguna idea?
Gracias de antemano.

No puedes obtener el título del menú usando wp_nav_menu()
, necesitas obtener el objeto del menú de la siguiente manera:
// Cambia por el ID de tu menú
$menu_ID = 5;
$nav_menu = wp_get_nav_menu_object( $menu_ID );
// luego muestra el nombre del menú
echo $nav_menu->name;
Con el código anterior, puedes insertar el nombre del menú en wp_nav_menu()
usando el parámetro items_wrap
. Por ejemplo:
$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>'
)
);

Es mejor no depender del ID del menú, mi solución resolverá dinámicamente el menú asignado para la ubicación actual.
1- Primero necesitamos definir una función que busque el menú en nuestro 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- Luego mostramos el título del menú que se muestra en cualquier ubicación que queramos:
$menu_obj = monoprog_get_menu_by_location('menufooterleft');
echo "<h3>".esc_html($menu_obj->name)."</h3>";
Solo reemplaza 'menufooterleft' con la ubicación registrada en tu tema.
