Como atribuir funções de usuário condicionalmente no WordPress

Como atribuir funções de usuário condicionalmente no WordPress

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

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.

A página de preços do WPForms.

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).

Instale o complemento de registro de usuário para atribuir funções de usuário condicionalmente

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.

Acesso a modelos de addons

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

Clique em Use Template (Usar modelo) para criar um formulário de registro de usuário

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

Formulário de registro para atribuir funções de usuário condicionalmente

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).

Adicione o campo Dropdown para selecionar o tipo de conta

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

Tornar o campo de tipo de conta obrigatório para atribuir funções de usuário condicionalmente

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.

Acessar as configurações do addon Registro de usuário

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.

Mapeamento de campo no addon de registro de usuário

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.

Mapeamento da função do usuário

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

Salvar 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.

Atenção!

Esta seção contém snippets PHP personalizados e destina-se a usuários experientes em tecnologia com conhecimento básico de PHP. No entanto, você pode acompanhar mesmo se for um iniciante, pois, na maior parte do tempo, só precisará atualizar o ID do formulário e o ID do campo suspenso.

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.

Recupere o ID do formulário para atribuir a função do usuário condicionalmente no WordPress

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).

Selecione o tipo de conta no frontend para atribuir a função do usuário condicionalmente

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.

Ativar a ativação do usuário

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.

Botão de formulário incorporado

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.

Decida como você deseja incorporar seu formulário

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

Dê um nome à sua página e prossiga

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.

Publicar a 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.

Divulgação: Nosso conteúdo é apoiado pelo leitor. Isso significa que, se você clicar em alguns de nossos links, poderemos receber uma comissão. Veja como o WPForms é financiado, por que isso é importante e como você pode nos apoiar.

David Ozokoye

David é redator técnico da WPForms. Ele testa e documenta novos recursos e atualizações do plug-in WPForms. Fora do computador, ele gosta de jogar videogame e andar de patins.Saiba mais

O melhor plug-in de criação de formulários de arrastar e soltar para WordPress

Fácil, rápido e seguro. Junte-se a mais de 6 milhões de proprietários de sites que confiam no WPForms.

Ative o JavaScript em seu navegador para preencher este formulário.

Adicionar um comentário

Ficamos felizes por você ter optado por deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Este formulário é protegido pelo Cloudflare Turnstile e aplicam-se a Política de Privacidade e os Termos de Serviço da Cloudflare.