# Como corrigir o Login Widget do Elementor que redireciona para a página errada no WordPress

O Login Widget do Elementor redireciona para a página errada quando o toggle Redirect After Login está desligado, aponta para uma URL incorreta, ou quando o cache serve uma versão antiga do widget e o WordPress aplica o redirecionamento padrão para o wp-admin.

## 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.

**Antes de começar:** Antes de desativar plugins de membros, login ou segurança e antes de adicionar o snippet de código em produção, faça um backup completo do site (arquivos e banco de dados) ou teste primeiro num ambiente de staging, para reverter caso o login fique inacessível.

## 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.

Erros relacionados

- [Como corrigir pop-ups que não aparecem no Elementor](https://full.services/wp-fixer/corrigir-popup-nao-aparece-elementor/)
- [Como corrigir o Elementor Pro Form que não envia e-mails](https://full.services/wp-fixer/corrigir-form-nao-envia-email-elementor/)
- [Como corrigir o Theme Builder do Elementor que não aplica em todas as páginas](https://full.services/wp-fixer/corrigir-theme-builder-condicoes-elementor/)

## 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

1. 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/
```

2. 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/
```

3. 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)
```

4. 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
```

5. 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)
```


## Código

```php
<?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/' );
}
```

## Perguntas frequentes

### Por que o Login Widget do Elementor me joga no wp-admin depois do login

Porque o toggle Redirect After Login está desligado ou sem URL no widget. Quando o widget não define um destino, o WordPress aplica o padrão e envia o administrador para o wp-admin. Ligue Redirect After Login em Content, Additional Options, e informe a página de destino.

### Onde fica a opção de redirecionamento no Login Widget do Elementor

Na aba Content do widget, dentro da seção Additional Options. Lá ficam os toggles Redirect After Login e Redirect After Logout, cada um com um campo de URL personalizada para definir a página de destino, conforme a documentação oficial do Elementor.

### O cache pode fazer o redirect do login do Elementor falhar

Sim. Se o plugin de cache ou o Cloudflare servir uma versão antiga da página com o widget, a configuração de redirect recém-salva não é aplicada. Limpe o cache de página e o Cloudflare, e exclua a página de login das regras de cache.

### Como redirecionar o usuário para uma área de membros após o login

Ligue o toggle Redirect After Login em Additional Options e preencha o campo de URL com o endereço completo da área de membros, por exemplo https://seusite.com/área-de-membros/. Salve a página e limpe o cache para o destino valer.

### Por que o redirect funciona às vezes e às vezes não

Esse comportamento intermitente quase sempre é cache: a página é servida estática com a configuração antiga e, após uma limpeza, volta ao normal por um tempo. Exclua a página do widget das regras de cache para resolver de forma definitiva.

### Outro plugin pode sobrescrever o destino do login do Elementor

Sim. Plugins de membros, login social e segurança costumam enganchar no filtro login_redirect do WordPress. Se um deles roda com prioridade maior, ele troca o destino. Desative-os um a um para achar o conflito ou ajuste a prioridade do filtro.

### Preciso do Elementor Pro para usar o redirecionamento de login

Sim. O Login Widget faz parte do Elementor Pro; é nele que ficam os controles Redirect After Login e Redirect After Logout. Na versão gratuita do Elementor o widget de login não está disponível.

### Posso forçar o destino de login por código se o widget não bastar

Pode. Um filtro login_redirect no functions.php do tema filho permite definir o destino com prioridade controlada, útil quando outro plugin disputa o redirecionamento. Use uma prioridade alta para garantir que sua regra seja a última a rodar.

**Fonte:** [Elementor — Login widget (documentação oficial)](https://elementor.com/help/login-widget-pro/)
