Como corrigir o mapeamento de campos no User Registration do WPForms
O que é mapeamento de campos no User Registration do WPForms?
O addon User Registration do WPForms conecta cada campo do formulário a um campo do perfil de usuário do WordPress. Isso e feito na aba Settings -> User Registration do construtor de formulários, onde dropdowns ligam os campos do formulário aos campos de perfil: Username, Email, Password, Name, Display Name, Website e Biographical Info, além da seção Custom User Meta para dados extras. O mapeamento e o que transforma uma submissao em um usuário real com os dados nos lugares certos.
Quando esse mapeamento quebra, a submissao do formulário não gera o usuário esperado ou cria um usuário com campos vazios: o e-mail não chega, o nome de usuário sai em branco, ou os dados de um custom user meta (por exemplo um campo do ACF) não aparecem no perfil. Segundo a documentação oficial do WPForms, o formulário precisa de um campo Email mapeado porque o WordPress exige um e-mail para criar a conta, e o Username e o Password são igualmente obrigatorios para o perfil.
Como identificar
- A submissao do formulário e registrada como entrada no WPForms, mas nenhum usuário novo aparece em Usuários -> Todos os usuários no WordPress.
- O usuário e criado, porém com o campo de e-mail, nome de usuário ou nome em branco no perfil.
- Mensagem ‘This email address is already registered’ ou ‘Please enter a valid email address’ bloqueia o cadastro mesmo com o campo preenchido.
- Os dados de um Custom User Meta (como um campo do ACF) não aparecem no perfil do usuário após o cadastro.
- O dropdown da aba Settings -> User Registration aparece vazio (‘Select a field’) porque o campo correspondente foi renomeado ou removido do formulário.
- Aviso ‘User Registration’ indisponivel ou a aba não aparece nas configurações do formulário porque o addon não esta ativo.
Como prevenir
- Mantenha o addon User Registration e o WPForms sempre na versão estavel mais recente, validando em staging para acompanhar mudancas na estrutura de campos.
- Nunca renomeie ou exclua um campo do formulário sem revisar em seguida os dropdowns da aba Settings -> User Registration que apontavam para ele.
- Padronize as Meta Keys dos custom user meta copiando o nome exato da origem (como o Field Name do ACF) em vez de digitar a mao.
- Após qualquer ajuste no formulário de cadastro, faça um envio de teste e confira o perfil do usuário criado antes de publicar a mudanca.
Causa
- Na aba Settings -> User Registration, o dropdown do Username, Email ou Password esta em 'Select a field' (sem campo selecionado), entao o WPForms não tem de onde tirar esse dado obrigatório para criar o usuário.
- O formulário não contem um campo do tipo Email mapeado, e o WordPress exige um endereco de e-mail para criar a conta, conforme a documentação oficial do User Registration addon.
- Na seção Custom User Meta, a Meta Key digitada não casa com o nome real da meta (por exemplo o Field Name gerado pelo ACF), entao o valor e gravado em uma chave errada e não aparece no perfil.
- Um campo do formulário foi renomeado, reordenado ou excluido depois de configurado o mapeamento, deixando o dropdown correspondente apontando para um campo inexistente.
- O addon User Registration esta desatualizado ou inativo, fazendo a aba Settings -> User Registration sumir ou os mapeamentos antigos pararem de gravar.
- Lógica condicional no formulário oculta o campo Email ou Username no momento do envio, de modo que o valor chega vazio e o mapeamento falha ao criar o usuário.
Como resolver
- Confirme que o addon User Registration esta ativo e atualizado: Sem o addon ativo a aba de mapeamento nem aparece. Verifique a instalação e a versão antes de mexer no formulário, já que mapeamentos antigos podem ter quebrado em uma atualização da estrutura de campos.
Painel WP -> WPForms -> Addons -> localize 'User Registration Addon' Clique em Update se houver atualização, ou em Activate se estiver inativo - Garanta um campo Email no formulário: O WordPress exige um e-mail para criar a conta, entao o formulário precisa de um campo Email valido. Adicione-o se não existir, antes de abrir o mapeamento.
Painel WP -> WPForms -> Todos os formulários -> abra o formulário de cadastro Na aba Fields, arraste um campo 'Email' para o formulário caso ele não exista - Refaça o mapeamento dos campos obrigatorios: Abra Settings -> User Registration e use os dropdowns para apontar Username, Email e Password para os campos certos do formulário. Nenhum desses três pode ficar em 'Select a field', pois são obrigatorios para criar o usuário.
No construtor do formulário, abra a aba Settings -> User Registration No dropdown 'Email', selecione o campo Email do formulário Nos dropdowns 'User Name' e 'Password', selecione os campos correspondentes (ou 'Auto Generate' no Password) - Corrija a Meta Key dos custom user meta: Na seção Custom User Meta, a Meta Key precisa ser identica ao nome real da meta (por exemplo o Field Name gerado pelo ACF). Copie o nome exato da origem e selecione o campo do formulário no dropdown 'Select Field'.
Em ACF -> Grupos de Campos, copie o 'Field Name' exato do campo de destino Na aba Settings -> User Registration -> Custom User Meta, cole esse nome em 'Meta Key' No dropdown 'Select Field' ao lado, escolha o campo do formulário que alimenta essa meta - Teste a criação do usuário e confira o perfil: Envie o formulário com dados de teste e confirme em Usuários que o registro foi criado com e-mail, nome e os custom meta corretos. Se um campo ainda chegar vazio, revise se a lógica condicional não esta ocultando o campo no envio.
Abra o formulário publicado e envie um cadastro de teste Painel WP -> Usuários -> Todos os usuários -> abra o usuário criado e confira os campos Se algo faltar, revise a aba Logic do campo Email/Username para garantir que ele não e ocultado no envio
<?php
/**
* Grava metas extras do usuario apos o User Registration do WPForms criar a conta.
* Use quando um custom user meta nao aparece na lista de mapeamento da UI.
*
* @param int $user_id ID do usuario recem-criado.
* @param array $fields Campos enviados (indexados pelo ID do campo).
* @param array $form_data Configuracao do formulario.
* @param int $userdata Dados passados ao wp_insert_user.
*/
add_action( 'wpforms_user_registered', 'full_wpforms_map_extra_user_meta', 10, 4 );
function full_wpforms_map_extra_user_meta( $user_id, $fields, $form_data, $userdata ) {
// Aplica somente ao formulario de cadastro correto (ajuste o ID).
if ( empty( $form_data['id'] ) || (int) $form_data['id'] !== 123 ) {
return;
}
// ID do campo do formulario -> meta key real no perfil do usuario.
$map = array(
5 => 'telefone_contato', // campo 5 do form -> meta 'telefone_contato'
7 => 'empresa', // campo 7 do form -> meta 'empresa'
);
foreach ( $map as $field_id => $meta_key ) {
if ( ! empty( $fields[ $field_id ]['value'] ) ) {
update_user_meta( $user_id, $meta_key, sanitize_text_field( $fields[ $field_id ]['value'] ) );
}
}
}














