¿Cómo obtengo el nombre de un menú en WordPress?
Actualmente estoy configurando un menú de barra lateral con múltiples menús y secciones. Cada sección con el título (el nombre del menú) y un conjunto de enlaces debajo (los elementos del menú) - Ya imprimí los elementos, pero ¿cómo puedo imprimir el nombre del menú?
Gracias,
Jacob

En WordPress versión 4.9.0 y superior puedes utilizar
wp_get_nav_menu_name($location)
wp_nav_menu_name para más información

Puedes acceder a los metadatos del menú utilizando la función wp_get_nav_menu_object
POR NOMBRE:
$menu = wp_get_nav_menu_object("mi menú principal" );
POR SLUG:
$menu = wp_get_nav_menu_object("mi-menu-principal" );
El objeto devuelto es el siguiente:
Object (
term_id => 4
name => Mi Nombre de Menú
slug => mi-nombre-de-menu
term_group => 0
term_taxonomy_id => 4
taxonomy => nav_menu
description =>
parent => 0
count => 6
)
Para mostrar el nombre:
echo $menu->name;

Ya estás proporcionando el nombre, ¿por qué querrías obtenerlo de nuevo? Cada vez que cambie el menú por otro o actualice el nombre del menú en el back-end, tendrá que actualizar esos valores.

@DavidLee No entiendo por qué descartaste mi respuesta, la idea es la misma, solo proporcioné el posible parámetro aceptado por la función wp_get_nav_menu_object
, eso es todo.

Si también lo deseas, puedes acceder a los metadatos del menú proporcionando el ID del menú de la siguiente manera $menu = wp_get_nav_menu_object ('id');

piénsalo, estás diciendo que para obtener el menu name
necesitas el menu name
, lo mismo con el ID

Hola David, creo que planteas un buen punto, pero no lo entiendo del todo. ¿Podrías explicar un poco más en tu respuesta?

Puedes obtener el nombre así, usando la ubicación del menú, de modo que si el menú se actualiza o asignas otro menú, no tengas que actualizar nada aquí:
$locations = get_nav_menu_locations(); //obtener todas las ubicaciones de menú
$menu = wp_get_nav_menu_object($locations['name_of_the_menu_location']);//obtener el objeto del menú
echo $menu->name; // nombre del menú
El 'name_of_the_menu_location'
es el que usas para mostrar un menú con wp_nav_menu
<?php
wp_nav_menu(array(
'theme_location' => 'footer'//este valor
));
?>
