Você já se perguntou como atribuir funções de usuário condicionalmente no WordPress com base em determinados critérios? Isso pode ser incrivelmente útil para sites que exigem funções exclusivas com base em ações do usuário, status de associação ou outros critérios.
Embora o WPForms e o complemento User Registration sejam ferramentas poderosas para criar formulários de registro, às vezes é necessário atribuir funções de usuário dinamicamente com base em condições específicas.
Neste guia, mostrarei como atribuir condicionalmente funções de usuário no WordPress usando o WPForms.
Entendendo as funções e os recursos do usuário do WordPress
O WordPress tem várias funções incorporadas. Abaixo, destaquei as funções de usuário padrão compatíveis com o WordPress:
- Administrador: Acesso total ao backend do site. Essa função pode executar atividades como adicionar novos usuários, editar funções de usuário, instalar plug-ins e temas etc.
- Editor: Pode gerenciar e publicar conteúdo, até mesmo conteúdo escrito por outras pessoas. A função geralmente se limita a atividades relacionadas à postagem.
- Autor: A função Autor no WordPress permite que os usuários publiquem e gerenciem apenas suas próprias postagens.
- Colaborador: No WordPress, a função de colaborador pode escrever e gerenciar suas postagens, mas não pode publicá-las.
- Assinante: tem acesso limitado, geralmente para leitura ou comentários.
Cada função tem um conjunto de "recursos" que determinam o que os usuários podem e não podem fazer. É importante familiarizar-se com os recursos de função de usuário do WordPress para saber quais permissões os usuários terão ao se registrarem no seu site. Recomendo que consulte o guia do WPBeginner se quiser saber mais sobre as funções e os recursos do usuário no WordPress.
Como atribuir funções de usuário condicionalmente no WordPress
Aqui está um passo a passo sobre como atribuir funções de usuário condicionalmente no WordPress.
- Etapa 1: Instalar e ativar o plug-in WPForms
- Etapa 2: Instalar e configurar o complemento de registro de usuário
- Etapa 3: Adicionar snippet para atribuir a função de usuário condicionalmente
- Etapa 4: Testar o formulário para atribuir funções de usuário condicionalmente
- Etapa 5: Publique seu formulário de registro do WordPress
Etapa 1: Instalar e ativar o plug-in WPForms
O WPForms é o melhor plug-in para criar formulários básicos e avançados no WordPress.
De simples formulários de contato a recursos mais avançados, como lógica condicional, é uma ferramenta confiável que tem funcionado bem para mim em vários sites.
A licença Pro do WPForms inclui acesso ao complemento User Registration, que permite criar formulários de registro e login no seu site WordPress.

Depois de adquirir a licença Pro, você deve instalar e ativar o WPForms no seu site WordPress. Se esta for sua primeira vez, consulte este guia para saber como instalar o WPForms.
Crie seu formulário de registro de usuário agora
Etapa 2: Instalar e configurar o complemento de registro de usuário
Depois de instalar o plug-in WPForms, você também precisará instalar o complemento User Registration.
Para instalar o complemento, vá para a área de administração do WordPress e acesse WPForms " Addons. Em seguida, role para baixo até encontrar o complemento User Registration Addon ou use a barra de pesquisa. Ao encontrá-lo, clique em Install Addon (Instalar complemento).

Depois de instalar e ativar o complemento User Registration em seu site, prossiga para criar o formulário de registro.
Criando seu formulário
Você pode criar seu formulário do zero ou usar nosso modelo de formulário de registro de usuário para acelerar o processo de criação do formulário. Para este tutorial, usaremos o modelo de formulário de registro de usuário. Para acessar esse modelo, navegue até WPForms " Add New (Adicionar novo). Em seguida, selecione Addon Templates no menu da barra lateral.

A partir daí, clique no botão Usar modelo abaixo do modelo de formulário de registro de usuário.

Isso o direcionará para o construtor de formulários, onde você poderá personalizar ainda mais o modelo.

No construtor de formulários, vá em frente e adicione um campo de opções ao seu formulário. Para este tutorial, adicionarei o campo Dropdown com duas opções: Teacher (Professor) e Student (Aluno).

Também habilitarei a opção Required para que os usuários selecionem um tipo de conta ao se registrarem.

Observe o ID do campo Dropdown, pois precisaremos dele na próxima etapa.

Depois de adicionar os campos e personalizar as opções de campo, vá para Settings " User Registration (Configurações " Registro do usuário ) para acessar as configurações adicionais do addon.

Se você usou o modelo de formulário de registro de usuário, todo o mapeamento de campo estará concluído. No entanto, se estiver criando o formulário de registro do zero, será necessário mapear os campos do formulário para os metadados do usuário do WordPress.

Por padrão, a seção User Roles (Funções do usuário ) é definida como Subscriber (Assinante). Não é necessário se preocupar com a atribuição de função por enquanto, pois isso será tratado usando a lógica condicional. No entanto, observe que essa será a função padrão atribuída aos usuários se o snippet não funcionar corretamente no seu site.

Quando terminar de personalizar o formulário, não se esqueça de clicar no botão Save (Salvar ) para salvar as alterações.

Etapa 3: Adicionar snippet para atribuir a função de usuário condicionalmente
Atualmente, o WPForms não suporta a atribuição de funções de usuário com base na entrada de outros campos por padrão. No entanto, com um snippet PHP personalizado, é possível personalizar o formulário de registro para atribuir funções de usuário condicionalmente com base na entrada do formulário.
No nosso exemplo, vamos configurá-lo para verificar o campo suspenso que adicionamos ao formulário de registro. Se o usuário selecionar Professor como tipo de conta, atribuiremos uma função de Editor ao usuário. Se o usuário selecionar Student, o snippet lhe atribuirá a função Author.
Para continuar, copie e cole o snippet abaixo em seu site. Recomendo usar a tag Código WPC para adicionar o snippet ao seu site. Esse plug-in facilita a adição de snippets de código personalizados aos sites do WordPress sem precisar mexer na interface do usuário. functions.php
ou se preocupar com a quebra do site.
Para obter detalhes sobre como usar o plug-in WPCode, consulte nosso tutorial sobre como adicionar snippets personalizados ao WordPress.
Explicação do código
O snippet acima usa o wpforms_user_registration_process_registration_get_data
para capturar os dados do usuário depois que ele enviar o formulário de registro. Estamos verificando o campo Dropdown no formulário e atribuindo ao usuário uma função com base em sua entrada.
Configuramos o snippet para funcionar somente no formulário com ID 13. Isso corresponde ao ID do meu formulário de registro. Você precisará atualizar esse ID para que corresponda ao ID do seu formulário. Para obter o ID do seu formulário, acesse WPForms " All Forms e procure na coluna Shortcode. O número no shortcode é o ID do formulário.

Além disso, o $role_field_id
que é o ID do campo Dropdown, está definida como 6 no código acima. Você precisará substituí-la também para que corresponda à do seu campo Dropdown. Lembre-se de que pedi que você observasse a variável ID do campo Dropdown. É aqui que usaremos o valor.
O $role_mapping
é onde definimos o mapeamento dos valores do campo Dropdown. A opção Professor é mapeada para a função Editor no WordPress, enquanto a opção Aluno é mapeada para a função de usuário Autor. Você pode adicionar mais pares de valores-chave, dependendo do número de opções no seu formulário de registro.
Dica profissional
O mapeamento dos campos Student e Teacher no snippet acima corresponde às opções que especifiquei no campo Dropdown ao personalizar o formulário de registro. Se as opções em seu campo Dropdown forem diferentes das minhas, certifique-se de atualizar os pares de chaves na matriz $role_mapping para que correspondam aos valores usados em seu formulário.
Usamos o slug associado à função do usuário para mapeá-lo no snippet. Por exemplo, "editor" corresponde à função Editor no WordPress. Abaixo, destaquei as funções de usuário padrão do WordPress e seus slugs:
- Administrador - 'administrator'
- Editor - 'editor'
- Autor - 'autor'
- Contribuinte - "contribuinte
- Assinante - "subscriber" (assinante)
Etapa 4: Testar o formulário para atribuir funções de usuário condicionalmente
A próxima etapa depois de adicionar o snippet é testar o formulário para garantir que ele funcione corretamente antes de distribuí-lo aos seus usuários. Para isso, recomendo o envio de uma entrada de teste para verificar se a função do usuário é definida dinamicamente.
Enviarei um registro de teste no meu formulário e definirei o campo Account Type (Tipo de conta) como Teacher (Professor).

Agora, para verificar a conta de usuário na área de administração do WordPress, vá para Usuários " Todos os usuários. Aqui, você verá todas as contas de usuário em seu site. Como escolhi Professor ao preencher o formulário de registro, a função do usuário de teste é definida dinamicamente como Editor.

Algo a ter em mente ao permitir que os usuários escolham sua função no frontend é que você não pode controlar as opções que os usuários selecionarão. Em nossa implementação, por exemplo, um aluno ainda pode escolher o tipo de conta Professor, e o formulário ainda será enviado.
Você pode usar nosso addon Form Locker para restringir o acesso ao seu formulário de registro. Isso garante que somente os usuários com uma senha específica possam acessar o formulário.
Como alternativa, você pode ativar a ativação do usuário para o formulário de registro navegando até Configurações " Registro do usuário no construtor de formulários. Em seguida, ative a opção Ativar ativação do usuário e selecione o método de Aprovação manual.

Dessa forma, o administrador do site analisará manualmente cada registro de usuário e aprovará as contas de usuário se elas atenderem aos seus requisitos. Você pode confirmar se o usuário escolheu o tipo de conta correto antes de aprovar a conta.
Leia também: Segurança no upload de arquivos: Principais dicas para formulários on-line
Etapa 5: Publique seu formulário de registro do WordPress
Para concluir, vamos adicionar o formulário de registro a uma página. Para isso, edite o formulário para acessar o construtor de formulários. Em seguida, clique no botão Incorporar no canto superior direito da página do construtor de formulários.

Você terá a opção de publicar o formulário em uma página nova ou existente. Para este guia, escolherei a opção Criar nova página.

Dê um nome à sua nova página e clique em Let's Go (Vamos lá).

Você será direcionado ao editor de páginas do WordPress com seu formulário incorporado à página. Clique no botão Publish (Publicar ) para publicar sua página.

Ao verificar essa página no frontend, você verá que tem um formulário de registro de usuário totalmente funcional. Observe que também é possível incorporar seus formulários usando um shortcode ou widget.
Perguntas frequentes - Como atribuir funções de usuário condicionalmente
Estas são as respostas para algumas das principais perguntas que recebemos sobre a atribuição de funções de usuário condicionalmente no WordPress.
Posso atribuir várias funções de usuário condicionalmente?
Não, o núcleo do WordPress suporta apenas uma função por usuário por padrão. No entanto, você pode usar plug-ins como o User Role Editor para atribuir manualmente várias funções.
Os usuários existentes serão afetados quando eu implementar a atribuição condicional de funções de usuário?
Não, isso afeta apenas os registros de novos usuários por meio do WPForms. As funções dos usuários existentes permanecem inalteradas.
Como faço para criar uma função de usuário personalizada no WordPress?
A maneira mais fácil de conseguir isso é com um plug-in do WordPress. Com o plug-in Members, você pode adicionar novas funções de usuário ao seu site e personalizar os recursos de cada função. A nova função criada aparecerá no menu suspenso Funções de usuário ao personalizar o complemento Registro de usuário do WPForms.
Por que o snippet não está funcionando no meu site?
Isso pode ocorrer se o ID do formulário ou o ID do campo não corresponder ao do seu formulário de registro. Certifique-se de atualizar o snippet com seus IDs de formulário e de campo.
Além disso, se as opções no campo Dropdown não corresponderem às funções especificadas no snippet, o WPForms atribuirá ao usuário a função padrão especificada ao configurar o complemento User Registration.
Em seguida, personalize o estilo do seu formulário de registro
Agora, você tem um formulário de registro funcional que atribui dinamicamente as funções do usuário com base na entrada dos campos do formulário. Mostrei como exibir o formulário de registro no frontend do seu site. Mas você sabia que pode dar um passo adiante e embelezar seu formulário? O WPForms permite que você estilize seus formulários do WordPress sem escrever nenhum CSS.
Você também pode criar uma página de login personalizada com o logotipo do seu site para permitir que os usuários façam login em suas contas.
Estilize seu formulário do WordPress agora
Pronto para criar seu formulário? Comece hoje mesmo com o plug-in de criação de formulários mais fácil do WordPress. O WPForms Pro inclui vários modelos gratuitos e oferece uma garantia de reembolso de 14 dias.
Se este artigo o ajudou, siga-nos no Facebook e no Twitter para obter mais tutoriais e guias gratuitos sobre o WordPress.