Como corrigir o Login Widget do Elementor que redireciona para a página errada no WordPress
O que é Login Widget do Elementor que redireciona errado?
O Login Widget do Elementor é um recurso do Elementor Pro que insere um formulário de login do WordPress dentro de uma página construída no editor, em vez do tradicional wp-login.php. Ele traz, na aba Content em Additional Options, dois controles próprios: Redirect After Login e Redirect After Logout, cada um com um toggle e um campo de URL personalizada. Quando esses toggles estão ligados, o widget envia o usuário para a página que você definiu logo após autenticar ou sair; quando estão desligados, o WordPress assume e aplica o redirecionamento padrão, que para administradores costuma ser o wp-admin.
O problema do redirecionamento errado aparece quando essa configuração não é respeitada: o usuário entra e cai no painel administrativo em vez da área de membros, volta para a própria página de login, ou é jogado para a home. Segundo a documentação oficial do Elementor, o destino após o login é controlado por esses campos Redirect After Login e Redirect After Logout em Additional Options. Quando eles estão vazios, mal preenchidos, ou quando um cache de página entrega uma versão antiga do widget, o destino correto deixa de ser aplicado e o WordPress usa o comportamento padrão.
Como identificar
- Após clicar em Entrar, o usuário é enviado para o painel administrativo (wp-admin) em vez da página de membros configurada.
- O login conclui com sucesso, mas a página recarrega no próprio formulário de login, dando a sensação de que nada aconteceu.
- O usuário é redirecionado para a home do site (URL raiz) ignorando a URL personalizada definida em Redirect After Login.
- Após o logout, o visitante cai numa página diferente da definida em Redirect After Logout, geralmente a tela padrão de ‘Você se desconectou’ do WordPress.
- O redirecionamento funciona quando o cache do site está limpo, mas volta a falhar minutos depois, quando a página com o widget é servida do cache.
Como prevenir
- Sempre defina os campos Redirect After Login e Redirect After Logout do widget ao criar a página de login, em vez de confiar no comportamento padrão do WordPress.
- Use sempre URLs absolutas e completas (com https e barra final) nos campos de redirect, e revise-as ao migrar de domínio ou trocar slugs de páginas.
- Exclua a página que contém o Login Widget das regras de cache do plugin de cache e do Cloudflare, já que páginas de login não devem ser servidas de forma estática.
- Evite empilhar vários plugins que controlam o redirecionamento de login (membros, login social, segurança); padronize quem comanda o filtro login_redirect para não haver conflito.
Causa
- O toggle Redirect After Login está desligado na aba Content em Additional Options do widget; com ele desligado o widget não aplica destino próprio e o WordPress redireciona o administrador para o wp-admin por padrão.
- O toggle Redirect After Login está ligado, mas o campo de URL personalizada está vazio ou com uma URL inválida (sem https, com barra final faltando ou apontando para um slug que não existe), então o destino não resolve.
- O Redirect After Logout não foi configurado, fazendo o widget herdar a tela padrão de logout do WordPress em vez da página definida pelo administrador.
- Um plugin de cache de página (WP Rocket, W3 Total Cache, LiteSpeed) ou o cache do Cloudflare serve uma versão estática antiga da página com o widget, em que a configuração de redirect ainda não estava aplicada.
- Outro plugin de membros, login ou segurança engancha no filtro login_redirect do WordPress com prioridade maior e sobrescreve o destino definido pelo Login Widget do Elementor.
Como resolver
- Ligue o Redirect After Login no widget: Abra a página com o editor do Elementor, selecione o Login Widget e vá na aba Content até a seção Additional Options. Ligue o toggle Redirect After Login e preencha o campo de URL com a página de destino completa, por exemplo a área de membros. Sem esse toggle ligado o WordPress envia o administrador para o wp-admin por padrão.
Editar com Elementor -> selecione o Login Widget Aba Content -> seção Additional Options Redirect After Login -> ligar o toggle Custom URL -> https://seusite.com/área-de-membros/ - Configure também o Redirect After Logout: Na mesma seção Additional Options, ligue o toggle Redirect After Logout e informe a URL para onde o visitante deve ir ao sair, como a home ou uma página de despedida. Sem isso o widget usa a tela padrão de logout do WordPress.
Aba Content -> seção Additional Options Redirect After Logout -> ligar o toggle Custom URL -> https://seusite.com/ - Use uma URL absoluta e válida: Confirme que a URL preenchida é absoluta (começa com https://), aponta para um slug que existe e termina com barra. Um endereço relativo, sem https ou com slug inexistente faz o redirecionamento falhar e o WordPress aplicar o destino padrão.
Abra a página de destino numa aba e copie a URL exata da barra de endereço Cole a URL completa no campo Custom URL do widget Salve a página no editor do Elementor (botão Atualizar) - Limpe o cache de página e do Cloudflare: Depois de salvar, limpe o cache do plugin de cache e o cache do Cloudflare para que a página com o widget seja regenerada com a nova configuração. O cache servindo uma versão antiga é causa comum do redirect parecer que não foi aplicado.
Painel WP -> seu plugin de cache -> Limpar todo o cache Painel do Cloudflare -> Caching -> Configuration -> Purge Everything Recarregue a página de login numa janela anônima e teste o login - Isole conflito com plugin de membros ou login: Se o destino certo ainda não for aplicado, desative um a um os plugins de membros, login social ou segurança e teste o login a cada desativação. Esses plugins costumam enganchar no filtro login_redirect e sobrescrever o destino do widget.
Painel WP -> Plugins -> desative plugins de membros/login/segurança um a um Teste o login numa janela anônima após cada desativação Ao achar o culpado, ajuste a prioridade do redirect (ver bloco de código)
<?php
// functions.php do tema filho.
// Garante o destino de login mesmo quando outro plugin disputa o redirect.
add_filter( 'login_redirect', 'full_forcar_redirect_login', 99, 3 );
function full_forcar_redirect_login( $redirect_to, $requested, $user ) {
if ( ! ( $user instanceof WP_User ) ) {
return $redirect_to;
}
// Administradores seguem para o painel; demais usuarios vao para a area de membros.
if ( in_array( 'administrator', (array) $user->roles, true ) ) {
return admin_url();
}
return home_url( '/area-de-membros/' );
}














