# Como corrigir o Profile Builder do JetEngine que não redireciona após login no WordPress

O JetEngine Profile Builder não redireciona após o login quando a Account Page não está definida nas configurações do módulo, a User Page Structure está mal configurada, ou um plugin de cache ou de login concorrente sobrescreve o redirecionamento do WordPress.

## O que é JetEngine Profile Builder que não redireciona após login?

O JetEngine Profile Builder é o módulo da Crocoblock que monta páginas de perfil, conta e cadastro de usuário no front-end do WordPress. Ele depende de três ajustes centrais: a Account Page (a página que recebe o usuário logado), a User Page Structure (o padrão de URL de cada perfil) e a ação de redirecionamento que dispara depois do login pelo widget de formulário do JetEngine ou do JetFormBuilder. Quando essa configuração está completa, o usuário que faz login cai direto na página de conta certa.

A falha de redirecionamento aparece quando uma dessas peças está faltando ou conflita com outra rotina de login do site. Em vez de ir para o dashboard do perfil, o usuário é levado ao /wp-admin padrão do WordPress, à página inicial, ou vê uma tela em branco. Como o redirect do Profile Builder é resolvido por hooks de login do WordPress, qualquer plugin que também altere o login, ou um cache que sirva a página de conta sem a sessão, derruba o comportamento esperado.

## Como identificar

- Depois de logar pelo formulário do JetEngine, o usuário cai no painel /wp-admin do WordPress em vez da página de conta configurada no Profile Builder.
- A página de conta abre com a mensagem 'You do not have permission to view this page' ou volta para a tela de login em loop.
- O usuário logado é redirecionado para a home do site, e não para a Account Page definida nas configurações do Profile Builder.
- A URL do perfil abre em branco ou retorna erro 404, indicando User Page Structure ausente ou permalinks desatualizados.
- O redirect funciona com o cache desligado, mas para de funcionar quando o plugin de cache está ativo e servindo a página de conta estática.

**Antes de começar:** Antes de desativar plugins de login ou segurança e de alterar regras de cache em produção, faça um backup completo do site (arquivos e banco) ou teste primeiro em um ambiente de staging, porque mexer no fluxo de login pode bloquear temporariamente o acesso de usuários reais.

## Como prevenir

- Sempre defina a Account Page e a User Page Structure logo após ativar o módulo Profile Builder, antes de liberar o login para usuários reais.
- Regrave os permalinks toda vez que criar ou renomear páginas de conta e perfil do JetEngine, para manter as rewrite rules consistentes.
- Mantenha um único plugin responsável pelo redirecionamento de login e documente qual é, para evitar que dois plugins disputem o destino pós-login.
- Liste a Account Page e as URLs de perfil como exclusões fixas no plugin de cache, garantindo que elas nunca sejam servidas sem a sessão do usuário.

Erros relacionados

- [Como corrigir o erro de conexão entre JetEngine e Elementor](https://full.services/wp-fixer/corrigir-conexao-jetengine-elementor/)
- [Como corrigir os Data Stores do JetEngine que não salvam dados do usuário](https://full.services/wp-fixer/corrigir-data-stores-jetengine-nao-salva/)
- [Como corrigir o erro de permissão ao criar Custom Fields no JetEngine](https://full.services/wp-fixer/corrigir-erro-permissao-custom-fields-jetengine/)

## Causa

- A Account Page não está selecionada nas configurações do módulo Profile Builder (JetEngine -> Profile Builder -> aba Account Page), então o módulo não tem destino para onde enviar o usuário recém-logado.
- A User Page Structure está vazia ou aponta para um slug inexistente, fazendo a URL do perfil retornar 404 e o redirect cair em página em branco.
- Os permalinks não foram regravados após criar ou editar as páginas do Profile Builder, então as URLs de conta e perfil registradas pelo módulo não resolvem no front-end.
- Outro plugin de login, membership ou segurança (por exemplo um redirect global de login para /wp-admin) sobrescreve o filtro login_redirect que o Profile Builder usa, ganhando precedência sobre o destino do JetEngine.
- Um plugin de cache de página serve a Account Page como HTML estático sem a sessão do usuário, exibindo a versão deslogada e quebrando o redirecionamento condicionado ao login.

## Como resolver

1. Defina a Account Page no módulo Profile Builder: No painel, abra o JetEngine e ative o módulo Profile Builder. Na aba de configurações, selecione a página que servirá como Account Page, ou seja, a página de conta para onde o usuário logado deve ser enviado. Sem essa página definida, o módulo não tem destino de redirecionamento.

```
Painel WP -> JetEngine -> JetEngine Dashboard -> Modules -> ative Profile Builder
Painel WP -> JetEngine -> Profile Builder -> aba Account Page
Selecione a página de conta no campo Account Page e salve
```

2. Configure a User Page Structure: Ainda no Profile Builder, defina a User Page Structure, que monta a URL de cada perfil. Garanta que a estrutura usa um identificador válido (ID ou nickname do usuário) e que a página base existe. Estrutura vazia ou com slug inexistente faz a URL do perfil cair em 404.

```
Painel WP -> JetEngine -> Profile Builder -> aba User Page
Defina a estrutura de URL (ex.: /account/{user_id}/) com um identificador valido
Confirme que a página base do perfil esta publicada
```

3. Regrave os permalinks do WordPress: Toda vez que o Profile Builder registra ou altera páginas de conta e perfil, o WordPress precisa reescrever as regras de reescrita de URL. Acesse as configurações de Links Permanentes e salve uma vez para forçar a regravação, sem alterar a estrutura.

```
Painel WP -> Configurações -> Links Permanentes
Clique em Salvar Alterações sem mudar nada para forcar o flush das rewrite rules
```

4. Isole o conflito com outro plugin de login: Desative temporariamente plugins de membership, segurança ou redirecionamento de login que possam sobrescrever o destino pós-login. Faça o login de teste a cada desativação para identificar qual deles está roubando o redirect do Profile Builder. Reative o restante depois de achar o culpado.

```
Painel WP -> Plugins -> desative plugins de login/membership/segurança um a um
Faca login com um usuário de teste após cada desativacao
Reative os plugins inocentes e mantenha desativado ou reconfigure o que conflita
```

5. Exclua a Account Page do cache: Configure o plugin de cache para nunca servir a página de conta de forma estática, já que ela depende da sessão do usuário logado. Adicione a Account Page e as URLs de perfil à lista de exclusão de cache e limpe o cache atual.

```
Painel WP -> abra as configurações do seu plugin de cache
Adicione a URL da Account Page e do perfil a lista de páginas nunca em cache
Limpe o cache do site após salvar
```


## Código

```php
<?php
// Garante o destino pos-login quando o redirect do Profile Builder e
// sobrescrito por outro plugin. Envia o usuario comum para a Account Page
// e mantem o administrador no painel.
add_filter( 'login_redirect', 'full_jetengine_account_redirect', 99, 3 );
function full_jetengine_account_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();
    }
    // Ajuste o slug para a Account Page definida no Profile Builder.
    return home_url( '/account/' );
}
```

## Perguntas frequentes

### Por que o JetEngine Profile Builder não redireciona após o login

Na maioria dos casos a Account Page não foi definida nas configurações do módulo, então o Profile Builder não tem destino para o usuário logado. Em JetEngine -> Profile Builder, selecione a Account Page e salve antes de testar o login novamente.

### Onde defino a página de conta do Profile Builder no JetEngine

No painel, ative o módulo Profile Builder em JetEngine -> Modules e abra JetEngine -> Profile Builder. Na aba Account Page você escolhe a página que recebe o usuário logado. É esse campo que determina para onde o redirect aponta.

### Por que a página de perfil abre em 404 depois do login

Isso indica User Page Structure mal configurada ou permalinks desatualizados. Confira a estrutura de URL do perfil no Profile Builder e regrave os links permanentes em Configurações -> Links Permanentes salvando uma vez.

### Outro plugin pode estar sobrescrevendo o redirect do JetEngine

Sim. Plugins de membership, segurança ou redirecionamento de login costumam alterar o mesmo filtro de login do WordPress que o Profile Builder usa. Desative-os um a um e teste o login para identificar qual deles ganha precedência sobre o destino do JetEngine.

### O plugin de cache atrapalha o redirecionamento do Profile Builder

Pode atrapalhar quando serve a página de conta como HTML estático sem a sessão do usuário, exibindo a versão deslogada. Adicione a Account Page e as URLs de perfil à lista de exclusão do cache e limpe o cache para resolver.

### Preciso de código para mudar o destino do login no JetEngine

Não para o caso comum, que se resolve definindo a Account Page no módulo. Se você precisa de um destino dinâmico por papel de usuário, dá para usar o filtro login_redirect do WordPress em um snippet PHP, sem editar o core do plugin.

### Como testo se o redirect do Profile Builder voltou a funcionar

Crie um usuário de teste sem privilégios de administrador e faça login pelo formulário do front-end. Um usuário comum revela o destino real configurado, enquanto o administrador pode ser desviado para o /wp-admin por outras regras.

**Fonte:** [Crocoblock — JetEngine Profile Builder (Knowledge Base oficial)](https://crocoblock.com/knowledge-base/jetengine/)
