Como corrigir o Profile Builder do JetEngine que não redireciona após login no 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.
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.
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
- 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 - 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 - 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 - 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 - 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
<?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/' );
}














