Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Como adicionar lógica condicional a menus no WordPress

Nota editorial: Ganhamos uma comissão de links de parceiros no WPBeginner. As comissões não afetam as opiniões ou avaliações de nossos editores. Saiba mais sobre Processo editorial.

Você deseja exibir itens de menu de navegação diferentes para páginas diferentes no WordPress? Ou exibir um menu diferente para usuários conectados?

O WordPress permite que você mostre um menu de navegação em um local específico do seu tema, mas, por padrão, ele sempre mostrará o mesmo menu.

Neste artigo, mostraremos como adicionar lógica condicional aos menus no WordPress.

How to Add Conditional Logic to Menus in WordPress

Por que adicionar lógica condicional a menus no WordPress?

Os menus de navegação dão estrutura ao seu site WordPress e ajudam os visitantes a encontrar o que estão procurando. Por padrão, seu site WordPress exibirá o mesmo menu de navegação para todos os usuários e em todos os posts e páginas.

No entanto, pode haver ocasiões em que você queira exibir menus diferentes para usuários diferentes ou em páginas diferentes do seu site.

Sites como uma loja on-line, uma comunidade de sites de associação do WordPress ou uma plataforma de aprendizado on-line podem se beneficiar de menus de navegação personalizados.

Usando a lógica condicional, você pode adicionar itens de menu extras para usuários conectados, para que eles possam gerenciar suas contas, renovar suas assinaturas ou visualizar os cursos on-line que compraram. Você pode pensar nisso como um controle de acesso ao menu do WordPress.

Dito isso, vamos dar uma olhada em como adicionar lógica condicional aos menus no WordPress. Aqui estão os tópicos que abordaremos neste tutorial:

Criação de novos menus de navegação no WordPress

A primeira etapa é criar os menus de navegação adicionais que você deseja exibir no WordPress. Depois disso, você pode usar a lógica condicional para decidir quando cada menu será exibido.

Basta ir até a página Appearance ” Menus no painel do WordPress. Se você já tem um menu de navegação que usa em seu site para todos os usuários, esse pode ser o menu padrão.

Main menu

Em seguida, você precisa clicar no link “create a new menu” para criar um novo menu. Por exemplo, você pode criar um menu para exibir aos usuários conectados e outro para exibir em uma determinada página ou categoria do WordPress.

No lado esquerdo da tela, você pode ver uma lista das páginas do seu site. Basta marcar a caixa ao lado de qualquer página que você queira adicionar ao menu e clicar no botão “Add to Menu”.

Logged in menu

Você também pode arrastar e soltar os itens de menu no lado direito da tela para reorganizá-los.

Mais abaixo na página, você pode escolher um local para exibir o menu. No entanto, não é necessário atribuir um local a esse menu agora. Faremos isso na próxima etapa.

Não se esqueça de clicar no botão “Save Menu” para armazenar suas alterações.

Para obter mais detalhes sobre a criação de menus, consulte nosso guia para iniciantes sobre como adicionar um menu de navegação no WordPress.

Exibição de um menu diferente para usuários conectados no WordPress

Muitas vezes, é útil exibir menus de navegação diferentes para os usuários, dependendo se eles fizeram login no site ou não.

Por exemplo, você pode incluir links de login e registro para usuários desconectados e adicionar um link de logout ao menu para o menu conectado.

Ou, se você estiver administrando uma loja WooCommerce, poderá incluir itens para seus clientes que estão ocultos para o público em geral.

Primeiro, você precisa instalar e ativar o plug-in Conditional Menus. Para obter mais detalhes, consulte nosso guia passo a passo sobre como instalar um plug-in do WordPress.

Após a ativação, você precisa visitar a página Appearance ” Menus e alternar para a guia “Manage Locations” (Gerenciar locais).

Manage menu locations

A partir daqui, você verá a lista de locais de menu disponíveis e os menus que estão sendo exibidos no momento. Isso varia de acordo com o tema do WordPress que você está usando.

Por exemplo, em nosso site de demonstração, o local do menu principal está mostrando um menu de navegação intitulado “Main Menu”.

Podemos dizer ao plug-in para mostrar um menu diferente quando uma determinada condição for atendida, clicando no link “+ Conditional Menu” e selecionando outro menu no menu suspenso. Para este tutorial, selecionaremos “Logged in Menu”.

Select logged in menu

Em seguida, você precisa clicar no link “+ Conditions” (+ Condições).

Isso abrirá uma janela pop-up na qual você verá várias condições para escolher.

Select logged in user aa the condition

Basta marcar a caixa ao lado da opção “Usuário conectado” e, em seguida, clicar no botão “Salvar”.

Agora você pode visitar o seu site para ver o menu do usuário conectado em ação. Você pode fazer logout do seu site para ver o menu de navegação que é exibido para todos os outros usuários.

Different menu for logged in users

Para obter instruções mais detalhadas e saber como fazer isso usando código, dê uma olhada no nosso guia sobre como mostrar menus diferentes para usuários conectados no WordPress.

Exibição de um menu diferente do WordPress dependendo da função do usuário

Após o login de um usuário, também é possível exibir um menu de navegação diferente, dependendo da função de usuário atribuída a ele.

Por exemplo, você pode incluir itens de menu adicionais para um administrador e itens mais limitados para um colaborador. Ou, em um site de associação, você pode conceder diferentes níveis de acesso a diferentes níveis de associação.

Como na seção anterior, é necessário instalar e ativar o plug-in Conditional Menus e, em seguida, visitar a página Appearance ” Menus e alternar para a guia “Manage Locations” (Gerenciar locais).

Select the Conditional Menu

Você deve adicionar o menu condicional apropriado para a função de usuário que selecionará. Para este tutorial, selecionamos o menu “Nav Menu Administrator”.

Depois disso, você precisa clicar no link “+ Conditions” para poder escolher a função do usuário.

Select the Roles That Should See the Menu

Você precisará clicar na guia “User Roles” (Funções do usuário) para ver as caixas de seleção de cada função de usuário no seu site. Basta clicar nas funções de usuário que visualizarão esse menu e, em seguida, clicar no botão “Save” (Salvar).

Exibição de um menu diferente para páginas diferentes no WordPress

Você pode exibir um menu diferente para páginas diferentes no WordPress. Por exemplo, você pode exibir itens de menu adicionais em sua página de política de privacidade, como um link para o aviso de cookies.

Para fazer isso, você precisa instalar e ativar o plug-in Conditional Menus, conforme mostrado acima, escolher o menu de navegação apropriado e clicar no link “+ Conditions”.

Dessa vez, você deve clicar na guia “Pages” (Páginas). Você verá uma lista de todas as páginas do seu site.

Select the Pages Where the Menu Should Be Displayed

Você precisa colocar uma marca de seleção ao lado de cada página em que deseja exibir o menu de navegação e, em seguida, clicar no botão “Salvar”.

Ocultando o menu de navegação em páginas de destino no WordPress

Pode haver páginas em seu site em que você não queira exibir um menu de navegação, como as páginas de destino.

Uma página de destino é projetada para aumentar as vendas ou gerar leads para uma empresa. Nessas páginas, você deve minimizar as distrações e fornecer aos usuários todas as informações necessárias para que eles realizem uma ação específica.

Em nosso guia sobre como aumentar as conversões de sua página de destino em 300%, sugerimos que você minimize as distrações removendo os menus de navegação e outros links da página.

Você pode fazer isso usando o plug-in Conditional Menus. Ao selecionar o menu condicional, desta vez você precisa escolher “Disable Menu” (Desativar menu) no menu suspenso.

Select Disable Menu From the Drop Down

Em seguida, você precisa clicar no link “+ Condições” para escolher quando exibir o menu.

Você deve clicar na guia “Pages” (Páginas) e colocar marcas de seleção ao lado de suas páginas de destino.

Select the Pages Where the Navigation Menu Should Be Hidden

Não se esqueça de clicar no botão “Salvar” para armazenar suas configurações.

Fazendo mais com os menus de navegação do WordPress

Os menus de navegação são uma poderosa ferramenta de web design. Eles permitem que você direcione os usuários para as seções mais importantes do seu site.

Agora que você está exibindo diferentes menus de navegação em diferentes páginas e para diferentes usuários, talvez esteja se perguntando como pode personalizá-los ainda mais.

Experimente estes tutoriais úteis para ampliar a funcionalidade dos menus de navegação em seu site WordPress.

Esperamos que este tutorial tenha ajudado você a aprender como adicionar lógica condicional aos menus no WordPress. Você também pode querer aprender a criar fluxos de trabalho automatizados ou conferir nossa lista dos melhores plug-ins de prova social para WordPress e WooCommerce.

Se você gostou deste artigo, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Divulgação: Nosso conteúdo é apoiado pelo leitor. Isso significa que, se você clicar em alguns de nossos links, poderemos receber uma comissão. Veja como o WPBeginner é financiado, por que isso é importante e como você pode nos apoiar. Aqui está nosso processo editorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

O kit de ferramentas definitivo WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Reader Interactions

36 ComentáriosDeixe uma resposta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Bet Hannon says

    Be VERY careful with making menus different across your site. It’s not a problem to show different menus to logged in/out users, but to meet WCAG 2.0+ accessibility standards, main menus should be consistent page to page.

    • WPBeginner Support says

      Thank you for sharing that for those attempting to have those standards for their site. :)

      Administrador

  3. Kevin says

    I don’t see the “Enable conditional logic” under Appearance -> Menu. I’m using WordPress 5.7 as of March 16, 2021.

    • WPBeginner Support says

      The wording may have changed since this article but there should still be a checkbox for changing the visibility.

      Administrador

  4. Richard S. says

    BIG Thank you for this article, it’s awesome.
    Your snippet of code was perfect for a project I was working on, as was this plugin which I’m now using.
    Even in 2019 this is a handy page, it’s working well on WordPress 5.2.3 (Astra Pro theme) so still very applicable.

  5. Vasim Shaikh says

    I would like to ask I have added role for user Author and subscriber both then its should be display to author not subscriber. how to handle this?

  6. Rudolf says

    Really simple and easy to use plugin. Fantastic! It did not only save me a lot of time but also an organizational advantage because instead of using widget logic with different menu widgets, I create now one 1 menu with conditions per item.

  7. Jonathan P says

    Thank you,

    I have only used this plugin for conditions for users that are logged in or not logged in, but it works great, it really has saved me hours of messing around with code.

  8. David says

    Thank you guys for sharing this. However it will display a PHP Notice on conditioned menu items and the custom condition won’t be displayed among condition options, if you don’t specify the id parameter.

  9. Paul says

    Hi, I added conditions (if a string matches the server name, a menu is hidden). Great! But I would like to add even more custom conditions. Could you show an example of the code you would use to add more than on name/condition pair the custom option?

    name = “If the site is not www.”
    condition = www is not in SERVER_NAME
    name = “Paul site.”
    condition = “paul is in SERVER_NAME”

    etc.

    Thanks!

  10. Isuru says

    This Conflicts the WP User Manager Pro, and then user manager Pro plugin functions not working due to the confliction.
    as an ex: Show password tick in user registration page doesn’t work, as well as login page also not functioning well.
    can you please fix this

  11. Mo says

    Yep, definitely broken.

    Works great for the built in conditions, but when coding custom conditions it works once and then stops working.

  12. Mohi says

    Hello
    I installed this plugin, but I am getting an warning as follows :

    Warning: Missing argument 2 for custom_nav_edit_walker() in /var/www/equest/wp-content/themes/wp-questrian/framework/megamenu/mega-menu.php on line 42

    How to solve this warning ? Please guide me.

  13. JMD says

    I have not used the If Menu plugn, but I tried the Nav Menu Roles plugin

    It works but then conflicts with the Mega menu functionality of my theme.

    I am hesitant to try the If Menu plugin mainly because it has not been updated in so long. It will be a matter of time before I have to remove it for sure.

  14. Peter says

    Could not get this plugin to work. Not showing up i menu-items. Using: WP 4.3 / Nimwa theme.

    Any suggestions on similar working plugin? Just want to hide some menu items while working on them…

  15. Chuks Eke says

    Hi,
    Could this be achieved with this plugin,
    I want to have different menu for different pages or post. for example,

    Home | About Us | Service | Contact

    About Us [ History | Team | Career ]
    Services [ Web Development | Window Application | Corporate ID ]

    Is it possible with this plugin to show sub menu on side menu for About Us

      • Dieter says

        I stopped installation after reading WP Org PlugIn Page, there is the comment “1 person says it is broken” and in the support section is an open report which is not solved.
        If I read something like this I don’t even try to install such plug in.

      • Jagabandhu says

        The plugin is not working. It’s not showing “enable conditional logic” and the plugin author is not responding from last 7 months.

        Tried with disabling other plugins. But no result.

        Is there any other plugin to do so!?
        I need it.

Deixe uma resposta

Obrigado por deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossos política de comentários, e seu endereço de e-mail NÃO será publicado. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.