Como atribuir funções de utilizador condicionalmente no WordPress

Como atribuir funções de utilizador condicionalmente no WordPress

Já se perguntou como atribuir funções de utilizador condicionalmente no WordPress com base em determinados critérios? Isto pode ser incrivelmente útil para sites que exigem funções únicas com base em acções do utilizador, estado de membro ou outros critérios.

Embora o WPForms e o addon User Registration sejam ferramentas poderosas para criar formulários de registo, por vezes é necessário atribuir funções de utilizador dinamicamente com base em condições específicas.

Neste guia, vou mostrar-lhe como atribuir condicionalmente funções de utilizador no WordPress utilizando WPForms.

Compreender as funções e capacidades dos utilizadores do WordPress

O WordPress tem várias funções incorporadas. Abaixo, destaquei as funções de utilizador predefinidas suportadas pelo WordPress:

  • Administrador: Acesso total ao backend do sítio. Esta função pode realizar actividades como adicionar novos utilizadores, editar funções de utilizador, instalar plug-ins e temas, etc.
  • Editor: Pode gerir e publicar conteúdos, mesmo conteúdos escritos por outros. A função limita-se frequentemente a actividades relacionadas com a publicação.
  • Autor: A função Autor no WordPress permite aos utilizadores publicar e gerir apenas as suas próprias mensagens.
  • Contribuidor: No WordPress, a função de colaborador pode escrever e gerir as suas mensagens, mas não as pode publicar.
  • Assinante: Tem acesso limitado, normalmente para ler ou comentar.

Cada função tem um conjunto de "capacidades" que determinam o que os utilizadores podem e não podem fazer. É importante familiarizar-se com as capacidades das funções de utilizador do WordPress para saber que permissões os utilizadores terão ao registarem-se no seu site. Recomendo que consulte o guia do WPBeginner se quiser saber mais sobre as funções e capacidades do utilizador no WordPress.

Como atribuir funções de utilizador condicionalmente no WordPress

Aqui está um passo-a-passo sobre como atribuir funções de utilizador condicionalmente no WordPress.

Passo 1: Instalar e ativar o plugin WPForms

O WPForms é o melhor plugin para criar formulários básicos e avançados no WordPress.

Desde simples formulários de contacto a funcionalidades mais avançadas como a lógica condicional, é uma ferramenta fiável que tem funcionado bem em vários sítios.

A licença Pro do WPForms inclui acesso ao addon User Registration, que lhe permite criar formulários de registo e login no seu site WordPress.

A página de preços do WPForms.

Depois de comprar a licença Pro, você deve instalar e ativar o WPForms no seu site WordPress. Se esta é a sua primeira vez, confira este guia para saber como instalar o WPForms.

Crie agora o seu formulário de registo de utilizador

Passo 2: Instalar e configurar o addon de registo de utilizadores

Depois de instalar o plugin WPForms, terá também de instalar o addon User Registration.

Para instalar o addon, vá para a área de administração do WordPress e vá para WPForms " Addons. Em seguida, desloque-se para baixo até encontrar o Addon de Registo de Utilizador ou utilize a barra de pesquisa. Quando o encontrar, clique em Install Addon.

Instalar o addon de registo de utilizadores para atribuir funções de utilizador condicionalmente

Depois de instalar e ativar o suplemento Registo do utilizador no seu site, proceda à criação do formulário de registo.

Criar o seu formulário

Pode criar o seu formulário a partir do zero ou utilizar o nosso modelo de formulário de Registo do utilizador para acelerar o processo de criação do formulário. Para este tutorial, vamos utilizar o modelo de formulário de Registo de Utilizador. Para acessar este modelo, navegue até WPForms " Adicionar novo. Em seguida, selecione Addon Templates no menu da barra lateral.

Aceder a modelos de suplementos

A partir daqui, clique no botão Utilizar modelo abaixo para aceder ao modelo de Formulário de registo do utilizador.

Clique em Utilizar modelo para criar um formulário de registo de utilizador

Isto direccioná-lo-á para o criador de formulários, onde poderá personalizar ainda mais o modelo.

Formulário de registo para atribuir funções de utilizador condicionalmente

No construtor de formulários, vá em frente e adicione um campo de opções ao seu formulário. Para este tutorial, vou adicionar o campo Dropdown com 2 opções: Professor e Aluno.

Adicionar o campo pendente para selecionar o tipo de conta

Também vou ativar a opção Obrigatório para que os utilizadores tenham de selecionar um tipo de conta ao registarem-se.

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

Anote 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á a Definições " Registo do utilizador para aceder a definições adicionais para a extensão.

Aceder às definições da extensão Registo do utilizador

Se utilizou o modelo de formulário de registo de utilizador, todo o mapeamento de campos estará concluído. No entanto, se estiver a criar o seu formulário de registo a partir do zero, terá de mapear os campos do formulário para os metadados do utilizador do WordPress.

Mapeamento de campos no addon Registo de utilizadores

Por predefinição, a secção Funções do utilizador está definida como Subscritor. 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, tenha em atenção que esta será a função predefinida atribuída aos utilizadores se o snippet não funcionar corretamente no seu site.

Mapeamento de funções do utilizador

Quando terminar de personalizar o formulário, certifique-se de que clica no botão Guardar para guardar as alterações.

Guardar alterações

Passo 3: Adicionar um snippet para atribuir condicionalmente a função de utilizador

O WPForms atualmente 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, você pode personalizar seu formulário de registro para atribuir funções de usuário condicionalmente com base na entrada do formulário.

No nosso exemplo, vamos defini-lo para verificar o campo pendente que adicionámos ao formulário de registo. Se o utilizador selecionar Professor como tipo de conta, atribuiremos uma função de Editor ao utilizador. Se o utilizador selecionar Aluno, o snippet atribui-lhe uma função de Autor.

Atenção!

Esta secção contém snippets de PHP personalizados e destina-se a utilizadores experientes em tecnologia com conhecimentos básicos de PHP. No entanto, pode acompanhá-la mesmo que seja um principiante, uma vez que, na maior parte, apenas terá de atualizar o ID do formulário e o ID do campo pendente.

Para continuar, copie e cole o snippet abaixo no seu site. Eu recomendo usar o Código WPC para adicionar o snippet ao seu site. Este plugin facilita a adição de trechos de código personalizados a sítios WordPress sem ter de mexer no functions.php ou preocupar-se com a quebra do site.

Para mais informações sobre como utilizar o plugin WPCode, consulte o nosso tutorial sobre como adicionar snippets personalizados ao WordPress.

Código Explicação

O snippet acima usa o wpforms_user_registration_process_registration_get_data para capturar os dados do utilizador depois de este submeter o formulário de registo. Estamos a verificar o campo Dropdown no formulário e a atribuir ao utilizador uma função com base na sua entrada.

Definimos o snippet para funcionar apenas no formulário com um ID de 13. Isto corresponde ao ID do meu formulário de registo. Terá de atualizar este ID para corresponder ao ID do seu formulário. Para obter o ID do seu formulário, vá para WPForms " Todos os formulários e procure na coluna Shortcode. O número no shortcode é o ID do formulário.

Recuperar o ID do formulário para atribuir condicionalmente a função de utilizador no WordPress

Além disso, o $role_field_id que é o ID do campo Dropdown, está definida como 6 no código acima. Terá de a substituir também para corresponder à do seu campo Dropdown. Lembre-se de que eu pedi para anotar a variável ID do campo pendente. É aqui que vamos utilizar o valor.

O $role_mapping é onde definimos o mapeamento dos valores do campo Dropdown. A opção Professor corresponde à função de Editor no WordPress, enquanto a opção Aluno corresponde à função de utilizador Autor. Pode adicionar mais pares de valores chave, dependendo do número de opções no seu formulário de registo.

Dica profissional

O mapeamento dos campos Aluno e Professor no snippet acima corresponde às opções que especifiquei no campo Dropdown ao personalizar o formulário de registo. Se as opções no seu campo Dropdown forem diferentes das minhas, certifique-se de que actualiza os pares de chaves na matriz $role_mapping para que correspondam aos valores que utilizou no seu formulário.

Utilizamos o slug associado à função do utilizador para o mapear 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 - 'administrador'
  • Editor - 'editor'
  • Autor - 'autor'
  • Contribuinte - "contributor
  • Assinante - "subscriber" (assinante)

Passo 4: Testar o formulário para atribuir funções de utilizador condicionalmente

O próximo passo depois de adicionar o snippet é testar o formulário para garantir que funciona corretamente antes de o distribuir aos seus utilizadores. Para isso, recomendo que submeta uma entrada de teste para ver se a função do utilizador é definida dinamicamente.

Vou submeter um registo de teste no meu formulário e definir o campo Tipo de conta como Professor.

Selecionar o tipo de conta no frontend para atribuir condicionalmente a função de utilizador

Agora, para verificar a conta de utilizador na área de administração do WordPress, aceda a Utilizadores " Todos os utilizadores. Aqui, verá todas as contas de utilizador no seu site. Como escolhi Professor ao preencher o formulário de registo, a função do utilizador de teste é definida dinamicamente como Editor.

Um aspeto a ter em conta quando se permite que os utilizadores escolham a sua função no frontend é que não é possível controlar as opções que os utilizadores selecionam. Na nossa implementação, por exemplo, um aluno pode continuar a escolher o tipo de conta Professor e o formulário continuará a ser enviado.

Pode utilizar a nossa extensão Form Locker para restringir o acesso ao seu formulário de registo. Isto garante que apenas os utilizadores com uma palavra-passe específica podem aceder ao formulário.

Em alternativa, pode ativar a ativação do utilizador para o formulário de registo navegando para Definições " Registo do utilizador no criador de formulários. Em seguida, active a opção Ativar ativação do utilizador e selecione o método de Aprovação manual.

Ativar a ativação do utilizador

Desta forma, o administrador do sítio analisará manualmente cada registo de utilizador e aprovará as contas de utilizador se estas cumprirem os seus requisitos. Pode confirmar se o utilizador escolheu o tipo de conta correto antes de aprovar a sua conta.

Leia também: Segurança no carregamento de ficheiros: Dicas importantes para formulários on-line

Passo 5: Publique o seu formulário de registo do WordPress

Para concluir, vamos adicionar o formulário de registo 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

Terá a opção de publicar o seu formulário numa página nova ou existente. Para este guia, escolherei a opção Criar nova página.

Decida como pretende incorporar o seu formulário

Dê um nome à sua nova página e clique em Vamos lá.

Dê um nome à sua página e prossiga

Será direcionado para o editor de páginas do WordPress com o seu formulário incorporado na página. Clique no botão Publicar para publicar a sua página.

Publicar a página

Quando verificar esta página no frontend, verá que tem um formulário de registo de utilizador totalmente funcional. Note que também é possível incorporar os seus formulários utilizando um shortcode ou widget.

Perguntas e Respostas - Como atribuir funções de utilizador condicionalmente

Estas são as respostas a algumas das principais perguntas que vemos sobre a atribuição de funções de utilizador condicionalmente no WordPress.

Posso atribuir várias funções de utilizador condicionalmente?

Não, o núcleo do WordPress suporta apenas uma função por utilizador por predefinição. No entanto, pode utilizar plug-ins como o User Role Editor para atribuir manualmente várias funções.

Os utilizadores existentes serão afectados quando eu implementar a atribuição condicional de funções de utilizador?

Não, isto só afecta os registos de novos utilizadores através de WPForms. As funções dos utilizadores existentes permanecem inalteradas.

Como posso criar uma função de utilizador personalizada no WordPress?

A forma mais fácil de o conseguir é através de um plugin WordPress. Com o plugin Members, pode adicionar novas funções de utilizador no seu site e personalizar a capacidade 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.

Porque é que o snippet não está a funcionar no meu sítio?

Isto pode ocorrer se o ID do formulário ou o ID do campo não corresponder ao do seu formulário de registo. Certifique-se de que actualiza o snippet com as IDs do formulário e do 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 addon User Registration.

Em seguida, personalize o estilo do seu formulário de registo

Agora, tem um formulário de registo funcional que atribui dinamicamente funções de utilizador com base na entrada de campos no seu formulário. Mostrei-lhe como apresentar o formulário de registo no frontend do seu site. Mas sabia que pode dar um passo em frente e embelezar o seu formulário? O WPForms permite-lhe estilizar os seus formulários WordPress sem escrever qualquer CSS.

Também pode criar uma página de início de sessão personalizada com o logótipo do seu sítio para permitir que os utilizadores iniciem sessão nas suas contas.

Estilize seu formulário do WordPress agora

Pronto para criar o seu formulário? Comece hoje mesmo com o plugin de criação de formulários mais fácil do WordPress. O WPForms Pro inclui muitos modelos gratuitos e oferece uma garantia de reembolso de 14 dias.

Se este artigo o ajudou, siga-nos no Facebook e no Twitter para mais tutoriais e guias gratuitos do WordPress.

Divulgação: O nosso conteúdo é apoiado pelos leitores. Isso significa que se você clicar em alguns de nossos links, podemos ganhar uma comissão. Veja como o WPForms é financiado, por que isso é importante e como você pode nos apoiar.

David Ozokoye

David é um escritor técnico na WPForms. Ele testa e documenta novos recursos e atualizações para o plugin WPForms. Longe do computador, ele gosta de jogar videojogos e andar de patins.Saiba mais

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

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

Active o JavaScript no seu browser para preencher este formulário.

Adicionar um comentário

Ficamos satisfeitos por ter escolhido deixar um comentário. Tenha em atenção que todos os comentários são moderados de acordo com a nossa política de privacidade e que todas as hiperligações são nofollow. NÃO utilize 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.