# Como corrigir o redirecionamento errado do Login Form no Ultimate Addons

O redirecionamento errado do Login Form no Ultimate Addons ocorre quando o campo Custom Redirection Link fica vazio, aponta para uma URL invalida, ou e sobrescrito por um plugin de segurança ou de membros que intercepta o login antes do widget.

## O que é redirecionamento do Login Form no Ultimate Addons?

O Login Form do Ultimate Addons para Elementor e um widget que monta um formulário de login dentro de qualquer página construida no Elementor, sem depender da tela padrão wp-login.php. Ele oferece o recurso Custom Redirection Link, que define para onde o usuário e enviado depois de fazer login ou logout. Quando esse recurso esta mal configurado ou e ignorado por outro plugin, o usuário cai na página errada após autenticar.

O redirecionamento errado significa que, após um login bem-sucedido, o visitante e levado para um destino diferente do esperado: volta para a própria página do formulário, cai na tela wp-login.php, vai parar no painel wp-admin sem permissão, ou recebe um destino injetado por um plugin de segurança ou de área de membros. Como o login em si funciona, o problema costuma ser confundido com falha de autenticacao, mas a causa real esta na regra de redirecionamento aplicada depois que a sessao e criada.

## Como identificar

- Após clicar em entrar, o usuário volta para a mesma página do formulário do Login Form em vez de ir para o destino configurado.
- O login leva o usuário para a tela padrão wp-login.php ou wp-admin, mesmo com o widget configurado para outra página.
- Aparece a mensagem 'Você não tem permissão para acessar esta página' ou 'Sorry, you are not allowed to access this page' ao cair no wp-admin sem capability.
- O campo Custom Redirection Link foi preenchido, mas o navegador para em uma URL diferente da informada.
- O redirecionamento funciona para o administrador, mas usuários com papel assinante ou cliente são enviados para o lugar errado.

**Antes de começar:** Antes de desativar plugins de segurança ou adicionar código ao functions.php em producao, faca um backup completo do site (arquivos e banco de dados) ou teste primeiro em um ambiente de staging, para reverter caso o login fique inacessivel.

## Como prevenir

- Sempre preencha o Custom Redirection Link com uma URL absoluta e validada ao publicar uma página de login, em vez de deixar o campo no destino padrão.
- Padronize uma única página de login no site: evite vários widgets Login Form com regras de redirecionamento diferentes que se contradizem.
- Documente quais plugins de segurança, membros ou LMS manipulam o login, para saber de imediato quem pode sobrescrever o redirecionamento.
- Exclua a página do formulário de login do cache de página, garantindo que a requisicao de autenticacao sempre chegue ao servidor com o nonce valido.

Erros relacionados

- [Como corrigir o editor do Elementor que não carrega](https://full.services/wp-fixer/corrigir-elementor-nao-carrega/)
- [Como corrigir conflito entre Elementor e tema WordPress](https://full.services/wp-fixer/corrigir-conflito-elementor-tema/)
- [Como corrigir Elementor com widgets que não aparecem](https://full.services/wp-fixer/corrigir-elementor-widgets-nao-aparecem/)

## Causa

- O campo Custom Redirection Link do Login Form esta vazio: sem URL definida, o widget aplica o destino padrão do WordPress (wp-admin) em vez da página desejada.
- A URL informada no Custom Redirection Link e relativa ou esta digitada errada (sem https, com barra final faltando ou apontando para um slug que não existe), e o WordPress descarta o destino invalido.
- Um plugin de segurança que troca o login (como o que renomeia o wp-login.php ou força 2FA) intercepta a requisicao de autenticacao antes do widget, aplicando o próprio redirecionamento.
- Um plugin de área de membros ou LMS (por exemplo um que controla acesso a cursos) registra um filtro login_redirect com prioridade maior e sobrescreve o destino do Login Form.
- Um plugin de cache de página serve uma versão estática da página do formulário, e a requisicao de login não chega ao servidor com o nonce valido, fazendo o usuário voltar para a tela de login.

## Como resolver

1. Defina o Custom Redirection Link no widget: Edite a página no Elementor, selecione o widget Login Form e localize a opção Custom Redirection Link na aba de conteúdo. Preencha a URL completa e absoluta do destino após o login, comecando com https e o domínio do site.

```
Elementor -> abra a página com o Login Form -> clique no widget
Aba Content -> Login Form -> ative Custom Redirection Link
Informe a URL absoluta de destino, ex.: https://seusite.com.br/minha-conta/
```

2. Valide a URL de destino: Abra a URL que você colocou no campo em uma aba anonima do navegador e confirme que ela carrega sem erro 404 e sem outro redirecionamento. Uma página inexistente ou já redirecionada faz o login parecer quebrado.

```
Copie a URL do Custom Redirection Link
Abra uma janela anonima e cole a URL na barra de enderecos
Confirme que abre a página certa, sem 404 e sem redirect adicional
```

3. Teste com o usuário real e sem cache: Faca o teste de login com uma conta de papel comum (não administrador) e limpe o cache antes. Plugins de cache podem servir a página do formulário estática e impedir o redirecionamento correto.

```
Limpe o cache do plugin de cache e do navegador
Use uma conta de teste com papel Assinante ou Cliente
Faca login pela página do widget e observe a URL final
```

4. Isole o plugin que sobrescreve o login: Se o destino ainda estiver errado, desative temporariamente os plugins de segurança, de membros e de LMS um a um, testando o login a cada desativacao. O culpado costuma ser um plugin que aplica o próprio login_redirect com prioridade maior.

```
Painel WP -> Plugins -> desative o plugin de segurança de login
Teste o login; se corrigir, o conflito esta nele
Repita com plugins de membros e LMS até identificar o responsável
```

5. Force o destino por papel via filtro, se necessário: Quando outro plugin precisa continuar ativo, registre um filtro login_redirect com prioridade alta para garantir o destino por papel de usuário. Coloque o código em um plugin de snippets ou no functions.php do tema filho.

```
Use um plugin de snippets (ex.: Code Snippets) ou o functions.php do tema filho
Adicione o filtro login_redirect com prioridade 99 (ver bloco de código)
Salve e teste o login com cada papel de usuário
```


## Código

```php
<?php
// Garante o destino apos o login por papel, com prioridade alta
// para vencer outros plugins que tambem usam login_redirect.
add_filter( 'login_redirect', 'full_uael_login_redirect', 99, 3 );
function full_uael_login_redirect( $redirect_to, $requested, $user ) {
    if ( ! is_a( $user, 'WP_User' ) ) {
        return $redirect_to;
    }
    if ( in_array( 'administrator', (array) $user->roles, true ) ) {
        return admin_url();
    }
    // Demais papeis vao para a pagina de conta (URL absoluta do seu site).
    return home_url( '/minha-conta/' );
}
```

## Perguntas frequentes

### Por que o Login Form do Ultimate Addons volta para a mesma página após o login

Quando o campo Custom Redirection Link esta vazio ou com uma URL invalida, o widget não tem para onde enviar o usuário e ele acaba retornando a própria página do formulário. Preencha o campo com a URL absoluta correta do destino na aba de conteúdo do widget.

### Onde fica a configuração de redirecionamento do Login Form no Ultimate Addons

No editor do Elementor, selecione o widget Login Form e abra a aba Content. O recurso Custom Redirection Link permite adicionar os links que redirecionam o usuário após login e logout, conforme a documentação oficial do Ultimate Addons.

### Posso definir destinos diferentes por papel de usuário no Login Form

O campo Custom Redirection Link define um destino único para todos. Para enviar cada papel a uma página diferente, registre um filtro login_redirect no functions.php ou em um plugin de snippets, retornando a URL conforme as capabilities do usuário.

### Por que so o administrador e redirecionado para o lugar certo

Geralmente um plugin de membros ou LMS aplica um redirecionamento próprio para papeis comuns e ignora o administrador. Desative esses plugins um a um para identificar qual sobrescreve o destino do Login Form para usuários assinantes ou clientes.

### Um plugin de segurança pode quebrar o redirecionamento do Login Form

Sim. Plugins que renomeiam o wp-login.php, adicionam 2FA ou bloqueiam tentativas costumam interceptar a autenticacao antes do widget e aplicar o próprio destino. Teste o login com esse plugin desativado para confirmar o conflito.

### O cache de página atrapalha o login pelo Login Form

Pode atrapalhar. Se a página do formulário for servida estática pelo cache, a requisicao de login pode chegar sem o nonce valido e o usuário volta para a tela de login. Exclua a página de login do cache para evitar isso.

### Preciso de código para corrigir o redirecionamento do Login Form

Na maioria dos casos não: basta preencher corretamente o Custom Redirection Link e remover conflitos de plugins. O código so e necessário quando você precisa de destinos por papel ou outro plugin precisa permanecer ativo e sobrescreve o widget.

**Fonte:** [Ultimate Addons for Elementor — Login Form widget](https://ultimateelementor.com/widgets/login-form/)
