
🔧 Configurar um menu dinâmico do WordPress para utilizadores com sessão iniciada
Um utilizador registou-se no seu site e pretende mostrar-lhe um menu especial. Sem um plugin, o WordPress não oferece esta capacidade de raiz: convidados, utilizadores com sessão iniciada e administradores veem todos o mesmo menu. Isso é inconveniente.
Um convidado não precisa de um link «O Meu Perfil» e um utilizador com sessão iniciada não precisa de ver o botão «Iniciar Sessão». Os membros de uma secção restrita precisam do seu próprio menu e os subscritores de outro. Existe uma solução e requer apenas um plugin gratuito.
Vamos ver como configurar um menu dinâmico no WordPress em 10 minutos que entende automaticamente quem está a visitar e mostra a cada pessoa os itens relevantes.
💡 Visão geral rápida:
- Instale o plugin gratuito User Menus a partir do catálogo do WordPress.org.
- Configure a visibilidade dos itens: para todos os visitantes, apenas convidados ou apenas utilizadores com sessão iniciada (até ao nível de um perfil específico).
- Adicione o nome e o avatar do utilizador ao menu através de placeholders como
{first_name}. - Insira links de «Iniciar Sessão», «Registar» e «Terminar Sessão» com redirecionamentos personalizáveis.
O que um menu dinâmico oferece na prática
Imagine que gere um clube privado com aulas. Um convidado vê o menu «Sobre, Preços, Iniciar Sessão». Após iniciar sessão, esses itens mudam para «Os Meus Cursos, Progresso, Perfil, Terminar Sessão». Sem confusão; todos veem o que é relevante para si.
A mesma abordagem funciona para lojas online (convidados veem o catálogo e o carrinho, compradores veem o histórico de encomendas), fóruns, quadros de classificados e portais corporativos. Em qualquer lugar onde os utilizadores iniciem sessão no sistema, um menu contextual melhora a navegação e reduz as taxas de rejeição.
O WordPress padrão suporta exatamente um menu por localização de tema. Para ramificar a lógica entre «convidado vs utilizador», precisa de uma ferramenta adicional. Existem três opções: escrever código no functions.php (flexível, mas requer um programador), usar uma solução completa como o MemberPress (exagerado se só precisa de menus) ou usar um plugin leve e especializado. Vamos explorar a terceira opção.
Plugin gratuito User Menus: o que faz e porque é excelente

O User Menus, Nav Menu Visibility é desenvolvido pela equipa Code Atlantic (anteriormente Jungle Plugins). O plugin é gratuito, está alojado no catálogo oficial do WordPress.org, tem mais de 80.000 instalações ativas e mantém uma classificação de 5 em 5 estrelas com base em mais de 1.275 avaliações. A última atualização foi lançada em 2026, com compatibilidade declarada até ao WordPress 7.0.
Três funcionalidades principais que fazem valer a pena instalar este plugin:
Controlo de visibilidade. A cada item do menu é atribuída uma regra: visível para todos, apenas para convidados (sem sessão iniciada) ou apenas para utilizadores com sessão iniciada. Para utilizadores com sessão iniciada, pode restringir ainda mais a visibilidade a perfis específicos (por exemplo, o item «Painel de Administração» fica visível apenas para Administradores e Editores).
Dados do utilizador em tempo real no menu. Valores dinâmicos são inseridos no texto do item: primeiro nome (
{first_name}), apelido ({last_name}), nome de utilizador ({username}), nome de exibição ({display_name}), alcunha ({nickname}), email ({email}) e até avatar ({avatar}) com tamanho personalizável. O menu transforma-se de uma lista estática num painel personalizado: «Olá, Alex» em vez de um genérico «O Meu Perfil».Links de início de sessão, registo e término de sessão. Adicionados com alguns cliques através do widget integrado «User Links» no editor de menus. Os redirecionamentos podem ser configurados para cada link: página atual, página inicial ou um URL personalizado.
O plugin é extremamente leve, requerendo o WordPress 4.6 e PHP 5.6 no mínimo, sem upsells intrusivos. Não existe versão premium; toda a funcionalidade está disponível de imediato.
Uma nota: o User Menus não cria menus separados para diferentes perfis. Ele gere a visibilidade dos itens dentro de um único menu. Se precisar de alternar menus inteiros (convidado vê o Menu A, autor vê o Menu B), veja o Conditional Menus ou o If Menu. Mas para 90% dos cenários de «mostrar/ocultar itens», o User Menus resolve a tarefa sem sobrecarga.
Instalação e configuração em 3 passos
O plugin instala-se através da administração do WordPress da forma padrão.
Instalação: Plugins → Adicionar Novo, procure por «User Menus» (autor: Daniel Iser, Code Atlantic). Clique em Instalar Agora e depois em Ativar.
Após a ativação, um novo bloco de definições aparece para cada item no editor de menus (Appearance → Menus). Aqui estão os passos.
Passo 1: Configurar a visibilidade dos itens do menu

Abra qualquer item de menu existente ou crie um novo. No bloco expandido, aparece um menu suspenso com o rótulo «Quem pode ver este link» com três opções:
- Todos: o item é visível para todos os visitantes (padrão).
- Utilizadores sem sessão iniciada: apenas convidados, aqueles que não iniciaram sessão no sistema. Os links «Iniciar Sessão» e «Registar» vão aqui.
- Utilizadores com sessão iniciada: apenas utilizadores com sessão iniciada. Selecionar esta opção revela uma definição adicional: pode marcar perfis específicos que podem ver o item ou, inversamente, excluir certos perfis da visibilidade.
Se nenhum perfil for selecionado, todos os utilizadores com sessão iniciada veem o item. Assim que marcar pelo menos um perfil na lista «Escolha quais os perfis que podem ver este link», o item torna-se visível apenas para esses perfis.
Após configurar, clique em Guardar Menu. Verifique o resultado em modo anónimo: abra o site como convidado e após iniciar sessão; os menus devem ser diferentes.
Passo 2: Personalização (nome de utilizador no menu)

O toque mais notório para os utilizadores é quando o menu se lhes dirige pelo nome.
Crie um item de menu disponível apenas para «Utilizadores com sessão iniciada». No campo Rótulo de Navegação, clique no botão cinzento com uma seta; uma lista de placeholders disponíveis expandir-se-á. Selecione o que precisa (por exemplo, {first_name}) e este será inserido no texto do item. Pode combiná-los: «Olá, {first_name} {last_name}» ou «{display_name}, Perfil».
Placeholders disponíveis: primeiro nome ({first_name}), apelido ({last_name}), nome de utilizador ({username}), nome de exibição ({display_name}), alcunha ({nickname}), email ({email}) e avatar ({avatar}). Para avatares, o tamanho em pixels pode ser configurado.
Guarde o menu e verifique com uma conta de utilizador de teste; a navegação deve exibir o seu nome.
Passo 3: Links de início e término de sessão

Na coluna esquerda do editor de menus, sob o bloco Adicionar itens de menu, expanda a secção User Links. Marque os links de que precisa:
- Login: o link «Iniciar Sessão».
- Register: o link «Registar».
- Logout: o link «Terminar Sessão».
Clique em Adicionar ao Menu. O plugin irá adicioná-los automaticamente com os URLs corretos.
Expanda o item adicionado e configure o redirecionamento no menu suspenso «Para onde redirecionar os utilizadores depois?»:
- Página Atual: o utilizador permanece na mesma página (conveniente para o início de sessão: iniciar sessão e continuar no mesmo local).
- Página Inicial: redirecionar para a página inicial.
- URL Personalizado: uma página personalizada, como um painel pessoal ou uma página de agradecimento.
Recomendo definir Página Atual ou URL Personalizado (para o painel) para o link «Iniciar Sessão» e Página Inicial para «Terminar Sessão». O registo pode levar a uma página de boas-vindas para novos membros.
Após guardar, teste ambos os links no site ativo como convidado e como utilizador com sessão iniciada. A lógica é automática: os convidados veem «Iniciar Sessão / Registar», os utilizadores com sessão iniciada veem «Terminar Sessão».
Tutorial em vídeo: configuração completa em 5 minutos
Um guia visual de todos os três passos no ecrã neste breve guia:
Após a configuração, verifique se funciona no site ativo: abra uma página em modo anónimo (convidado) e depois inicie sessão com uma conta de teste. O menu deve mudar dinamicamente sem recarregar a página.
⁉️🤔 Perguntas frequentes
Posso criar menus diferentes para perfis diferentes, não apenas «convidado/utilizador»?
Sim, é exatamente para isso que serve a seleção de perfil nas definições do item. Defina a visibilidade para «Utilizadores com sessão iniciada» e, em seguida, no bloco «Escolha quais os perfis que podem ver este link», marque os perfis necessários. Os editores veem certos itens, os subscritores veem outros. Se tiver muitos perfis, é conveniente usar o método de exclusão: marque «Escolha quais os perfis que não verão este link» e remova um ou dois perfis, deixando o menu para todos os outros.
O plugin entra em conflito com temas e outros plugins?
Na prática, o User Menus funciona bem com a maioria dos temas, incluindo temas personalizados e FSE. Se o menu não mudar dinamicamente após a configuração, o tema provavelmente usa um menu hardcoded (
wp_nav_menuhardcoded sem filtros). Nesse caso, mude de tema ou substitua a chamada do menu no modelo pela padrão. Não foram observados conflitos com outros plugins; o plugin funciona com os hooks padrão do WordPress.
E se o plugin deixar de ser atualizado?
O User Menus é estável e desempenha exatamente uma função: gerir a visibilidade dos itens do menu. Mesmo que o autor interrompa o desenvolvimento, o plugin continuará a funcionar porque não depende de APIs externas e é construído sobre mecanismos nativos do WordPress (o filtro
wp_nav_menu_objects). Em casos extremos, a mesma lógica pode ser implementada com código nofunctions.php, mas para sites típicos, é mais fácil manter o plugin.
Preciso de um plugin de cache para o menu dinâmico funcionar?
Se usar cache de página agressiva (WP Rocket, LiteSpeed com cache de convidado), o menu pode «colar» no estado que o primeiro visitante viu. A solução é ativar a opção «Separar cache para utilizadores com sessão iniciada» nas definições do plugin de cache. A maioria dos plugins de cache modernos consegue distinguir entre convidados e utilizadores com sessão iniciada automaticamente.
O que usar em 2026 para menus dinâmicos no WordPress
O User Menus continua a ser a solução mais simples e popular para a tarefa de mostrar/ocultar itens de menu com base no estado do utilizador. Mais de 80.000 instalações ativas e uma classificação de 5 estrelas falam por si: o plugin funciona, não se avaria e não sobrecarrega o seu site.
Se precisar de uma lógica mais refinada (alternar menus inteiros, geo-segmentação, variantes A/B), veja o Conditional Menus ou o If Menu. Mas, na maioria dos casos, três regras («todos / convidados / com sessão iniciada») são suficientes.
Experimente o User Menus numa instalação de teste do WordPress. É gratuito, a instalação demora um minuto e o resultado é um menu dinâmico profissional que se adapta automaticamente a cada visitante.



