wp_get_menus: listar menús de navegación

Lista los menús de navegación definidos en el sitio.

Argumentos

Ninguno.

Permisos

mcp:read y wp:content:read, además de la capacidad edit_theme_options.

Los menús son territorio del tema, así que incluso leerlos exige un nivel más alto que leer entradas. Un usuario que puede editar contenido no necesariamente puede ver la estructura del menú.

Qué devuelve

Una lista items, donde cada menú incluye id, name y slug.

Establece qué menú antes de tocar nada

Un sitio típico tiene varios: un menú principal, un menú de pie de página y, a veces, un menú móvil o de utilidades, y sus nombres no siempre son una guía fiable de dónde aparecen.

Esta herramienta te da los IDs. Todas las demás herramientas de menú necesitan uno, y usar el equivocado edita un menú que nadie esperaba que cambiara.

Lista los menús y, después, muéstrame los elementos del principal. No cambies nada.

No informa de las ubicaciones del tema

La respuesta incluye la identidad del menú y nada sobre dónde se muestra. Un menú llamado «Main» puede estar o no asignado a la ubicación principal del tema, y un menú sin asignar no aparece en ninguna parte.

Esa es una laguna real: puedes editar un menú perfectamente y no ver ningún cambio en el sitio porque no es el que se está renderizando. Si una edición de menú parece no tener efecto, comprueba la asignación en Appearance → Menus.

Sitios multilingües

Con Polylang, cada idioma suele tener su propio menú asignado a la misma ubicación del tema. Aquí aparecen como menús separados, a menudo con nombres similares.

Confirma qué menú de qué idioma tienes antes de editar, y planifica hacer el cambio equivalente en cada uno. Editar uno no afecta a los demás.

Cómo usarla bien

Al inicio de cualquier trabajo de navegación:

Lista los menús con sus IDs y slugs.

Después, para el que te interesa:

Muéstrame todos los elementos del menú 3 con su ID, título, URL, menú padre y orden.

Esas dos llamadas te dan el panorama completo, y la segunda es lo que hace posible una edición segura. Consulta wp_get_menu_items.

Qué no hace

  • Sin recuento de elementos. No puedes distinguir un menú grande de uno vacío sin listar sus elementos.
  • Sin creación. No hay ninguna herramienta para crear o eliminar un menú en sí, solo sus elementos. Crear un menú es una tarea de administración de WordPress.
  • Sin asignación de ubicación. También solo de administración.

Vale la pena señalar ese segundo punto: las herramientas pueden rellenar y reordenar un menú, pero el menú ya debe existir.

Problemas comunes

Síntoma Causa
pom_ai_mcp_forbidden El usuario que actúa no tiene edit_theme_options
Varios nombres similares Sitio multilingüe, un menú por idioma
Una lista vacía No hay menús definidos en este sitio
Las ediciones no tienen efecto visible El menú no está asignado a una ubicación del tema