Suporte » Desenvolvendo com WordPress » conflito de menus em tema criado por mim

  • Bom dia a todos!!
    pessoal, eu criei um tema para uma loja e está funcionando tudo certo, mas agora precisei criar um segundo menu(para o rodapé)e quando crio os links, o primeiro menu(do topo) fica com os links do segundo, que está no rodape…
    eu estou chamando os menus dessa forma:
    menu do topo :
    <?php wp_nav_menu( array('menu'=>'Topo') ); ?>
    menu do rodape:
    <?php wp_nav_menu(array('menu' => 'rodape')); ?>

    e na criação deles eu estou fazendo assim:

    register_nav_menu('menu_principal', 'Menu Principal - Topo');
    register_nav_menu('menu_home', 'Menu home - lateral');
    register_nav_menu('rodape', 'menu na parte do rodape');
    register_nav_menu('erro', 'erro');

    enfim, não sei o que estou fazendo de errado, alguém tem alguma sugestão?
    Obrigado pela atenção!!
    Horácio

    • Este tópico foi modificado 4 anos, 7 meses atrás por Felipe Santos. Motivo: Alteração do estado do tópico de "não é uma questão de suporte" para "não resolvido"
    • Este tópico foi modificado 4 anos, 7 meses atrás por Felipe Santos. Motivo: Código corrigido. Coloque um acento grave no começo e outro no fim do seu código ou selecione o código e clique no botão "code"

    A página que eu preciso de ajuda: [fazer login para ver o link]

Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • Adicione o parâmetro localização, pode passar mais configurações através de um array, exemplo:

        wp_nav_menu(
            array(
                // identificação do menu
                'menu'              => 'Menu Principal - Topo',
                // localização do menu
                'theme_location'    => 'topo'
            )
        );

    Pode ver mais aqui, sobre localização de menus:
    https://codex.wordpress.org/Navigation_Menus

    E outros parametros que podem ser utilizados aqui:
    https://developer.wordpress.org/reference/functions/wp_nav_menu/

    Dica:
    Isole a criação de menus em funções e na hora de invocar, coloque condicionais. Evitará quebrar seu front.

    Exemplo:

    <?php if (function_exists('menu_header')) { menu_header(); } ?>

    • Esta resposta foi modificada 4 anos, 7 meses atrás por Felipe Santos. Razão: Correção do link para retirar alteração automática
    Criador do tópico Horácio

    (@2011-1)

    obrigado pela ajuda theanderson!! so não entendi esse parametro “theme_location”…ele informa a posição do menu na administração??? não entendi mesmo…

    Sim! Isso mesmo!

    O parâmetro theme_location fará que apareça no admim dos menus um checkbox com o nome que vc informar, nesse exemplo será topo, então o conteúdo desse menu aparecerá somente onde chama-lo.

Visualizando 3 respostas - 1 até 3 (de um total de 3)
  • O tópico ‘conflito de menus em tema criado por mim’ está fechado para novas respostas.