¿Cómo obtengo el nombre de un menú en WordPress?

18 feb 2017, 20:55:52
Vistas: 36.9K
Votos: 10

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

0
Todas las respuestas a la pregunta 3
2
30

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

22 dic 2018 09:15:42
Comentarios

Exactamente lo que estaba buscando +1 … debería ser la respuesta aceptada

GDY GDY
28 nov 2019 15:27:42

Esta respuesta debería aparecer en la parte superior o marcarse como la respuesta correcta actual.

William Patton William Patton
22 nov 2022 00:38:24
6
15

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;
18 feb 2017 21:01:26
Comentarios

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.

David Lee David Lee
18 feb 2017 21:12:50

@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.

Den Isahac Den Isahac
18 feb 2017 21:21:30

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');

Den Isahac Den Isahac
18 feb 2017 21:26:07

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

David Lee David Lee
18 feb 2017 21:41:16

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

Jacob Henning Jacob Henning
21 feb 2017 02:59:35

¿puedes indicar qué parte no entiendes? el nombre del footer cambia cuando asignas otro menú, así que es mejor obtener el nombre usando la ubicación, es como obtener el nombre del menú que está en la ubicación del footer

David Lee David Lee
25 feb 2017 20:43:25
Mostrar los 1 comentarios restantes
0

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
     ));
?>
18 feb 2017 21:04:32