Home » Programação » Criando um menu personalizado no WordPress

7

O WordPress possui uma facilidade muito boa para quem quer criar menus personalizados para facilitar a navegação na hora de você criar seu site ou blog. Com ele você tem uma série de funções que podem ser usadas para criar de forma simples um menu de categorias, páginas ou um menu personalizado.

Eu gostaria de ter uma liberdade maior para criar meu menu e poder trabalhar com PHP da forma que achava melhor. Para isso existe uma função que retorna as informações de forma de um objeto PHP que você pode facilmente varrer para apresentar da forma como deseja.

Antes do código, precisamos criar o nosso menu. Para isso acesse no menu principal da área administrativa do WordPress o item “Aparência” e depois “Menus”.

Menus no WordPress

Na tela de menu, clique no sinal de + que fica no topo da página.

Menu WordPress - 2

Vai aparecer um espaço para você escolher o nome do menu e ao lado esquerdo tem todas as opções do que você pode jogar como um menu: Links personalizados, páginas e categorias. Como neste exemplo iremos criar um menu somente de primeiro nível (não teremos submenus), vamos usar a opção de links personalizados. Para isso na caixa “Links Personalizados” informe um ou mais links (URL) e rótulos e adicione ao seu menu. Não se esqueça de guardar o nome principal do seu menu (em nosso exemplo será “Menu Topo”).

Menu WordPress - 3

Agora que temos o Menu Topo criado vá até a pasta do tema de seu blog e abra o arquivo onde você quer que o menu apareça. No meu caso eu quero um menu no topo do blog então vou fazer no aquivo header.php

Na linha 1 criei uma variável para guardar as informações do Menu Topo, repare que é pelo texto “Menu Topo” que definimos que queremos o menu que criamos anteriormente.

Na linha 2 verifico se retornou algum item do menu.

Na linha 3 inicio um loop para começar a listar os itens do menu.

Como você pode ver, é bem simples criar um menu personalizado no WordPress.

Tem alguma dúvida? Deixe um comentário.

Cadastre seu e-mail para receber as novidades do blog

Tags:

7 Comentários

  1. E.J. disse:

    Olá. É possível criar mais de um menu no header? Obrigado!

  2. Guilherme disse:

    Ele cria automaticamente a Classe, CUrrent item no Li, para as seções?

    • Rodrigo Maia disse:

      Olá Guilherme, obrigado pelo comentário. No exemplo mostra somente um nível. Mas se você criar submenus ele vai estar no array $items_menu_top ai é só adaptar o script.

      • Guilherme disse:

        Oi, estou me referindo se por este método o menu cria a classe no li class=”current item”. da seção visitada??

        Sem eu precisar fazer pelo php if(the_title = “empresa”) …

      • Rodrigo Maia disse:

        Você pode usar o $menu_topo->url e $_SERVER[‘REQUEST_URI’] com preg_match.

        < ? if (preg_match("!".$menu_topo->url.”!”, $_SERVER[‘REQUEST_URI’])){
        $class_item = ‘ current';
        } else {
        $class_item = ”;
        }
        ?>

  3. Marcos disse:

    Olá! Gostaria de saber como criar um menu que da link para uma página personalizada (que não foi criada dentro do admin do wordpress). Obrigado, Abraço.

Deixe um comentário