register_nav_menus() no registra los menús

26 feb 2012, 06:43:18
Vistas: 20.6K
Votos: 6

Por favor, ayuda con el registro de menús:

He seguido esta guía (http://codex.wordpress.org/Navigation_Menus) paso a paso.

Agregué el siguiente código a functions.php:

function register_my_menus() {
  register_nav_menus(
    array('header-menu' => __( 'Menú del Encabezado' ) )
  );
}

add_action( 'init', 'register_my_menus' );

Pero la guía dice que esto hará que el menú aparezca en la pantalla de administración de Apariencia -> Menús en el cuadro "Ubicaciones del Tema" como "Menú del Encabezado".

Cuando voy a Apariencia -> Menús todo está deshabilitado y no hay opción de "Ubicaciones del Tema"

1
Comentarios

Añade una captura de pantalla de wp-admin/nav-menus.php. Y haz algo con tus otras preguntas huérfanas.

fuxia fuxia
26 feb 2012 06:49:20
Todas las respuestas a la pregunta 1
4

No necesitas agregar ninguna acción para registrar tu Menú de Navegación. Aquí tienes unos pasos rápidos para que tu Menú de Navegación de Wordpress funcione...

Registrar Menú de Navegación

if (function_exists('register_nav_menu'))
{
    register_nav_menu('header_menu', 'Menú de Cabecera');
}

Definir y Usar el Menú de Navegación en tu Tema: Normalmente colocamos el código DIV del Menú en el archivo header.php; así que asumo que el tuyo también está ahí. Abre ese archivo y localiza el contenedor DIV donde deseas que aparezca el menú NAV de Wordpress. Aquí tienes un ejemplo de uno de mis temas recientes de Wordpress como referencia:

<div class="css-nav" >

<?php wp_nav_menu( array(
    'sort_column' => 'menu_order',
    'theme_location' => 'header_menu',
    'menu_class' => 'css-menu',
    'title_li' => '<div class="l"></div>',
    'link_before' => '<span class="l">',
    'link_after' => '</span>'
) ); ?> </div>

Una vez que agregues este código, ve a tu WP Admin - Menús. Crea un nuevo Menú, si aún no tienes ninguno. Tan pronto como crees un menú, deberías ver la caja meta "Ubicación del Tema" en el lado izquierdo de tu área de organización de elementos del menú.

Espero que esto te ayude. :-)

Saludos,

Ruturaj.

26 feb 2012 07:06:10
Comentarios

+1 por una respuesta bien formateada y de calidad de un nuevo usuario. Bienvenido a WPSE. :)

Jared Jared
26 feb 2012 07:09:57

function_exists('register_nav_menu') no hace nada útil: nav-menu.php se carga antes que el functions.php del tema (ver wp-settings.php). 'sort_column' y 'title_li' no son argumentos válidos.

fuxia fuxia
26 feb 2012 07:28:50

Gracias... ¡Esto funciona! ¡Por fin! La documentación en Wordpress necesita una actualización seria

php-b-grader php-b-grader
26 feb 2012 07:38:49

¡Guau! Una de las 3 ubicaciones de menú apareció tan pronto como puse (function_exists('register_nav_menu')), pero ¿cómo hago que aparezcan las otras dos? if (function_exists('register_nav_menu')) {

`register_nav_menus('headerMenuLocation', 'Header Menu Location');`
`register_nav_menus('footerLocationOne', 'Footer Location One');`
`register_nav_menus('footerLocationTwo', 'Footer Location Two'); }`
YCode YCode
17 sept 2018 22:18:58