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 certos critérios? Isto pode ser incrivelmente útil para sites que requerem funções únicas com base em ações do utilizador, estado de membro ou outros critérios.

Embora o WPForms e o suplemento de Registo de Utilizadores sejam ferramentas poderosas para criar formulários de registo, por vezes necessita de atribuir funções de utilizador dinamicamente com base em condições específicas.

Neste guia, irei guiá-lo através de como atribuir condicionalmente funções de utilizador no WordPress usando o WPForms.

Compreender as Funções e Capacidades de Utilizador do WordPress

O WordPress tem várias funções incorporadas. Abaixo, destaquei as funções de utilizador padrão que o WordPress suporta:

  • Administrador: Acesso total ao backend do site. Esta função pode realizar atividades como adicionar novos utilizadores, editar funções de utilizador, instalar plugins e temas, etc.
  • Editor: Pode gerir e publicar conteúdo, mesmo conteúdo escrito por outros. A função é frequentemente limitada a atividades relacionadas com publicações.
  • Autor: A função de Autor no WordPress permite aos utilizadores publicar e gerir apenas as suas próprias publicações.
  • Colaborador: No WordPress, a função de colaborador pode escrever e gerir as suas publicações, mas não as pode publicar.
  • Subscritor: Tem acesso limitado, geralmente para leitura ou comentários.

Cada função tem um conjunto de “capacidades” que ditam 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 obterão ao registarem-se no seu site. Recomendo que consulte o guia do WPBeginner se desejar saber mais sobre funções e capacidades de utilizador no WordPress.

Como Atribuir Funções de Utilizador Condicionalmente no WordPress

Aqui está um passo a passo sobre como atribuir condicionalmente funções de utilizador 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 formulários de contacto simples a funcionalidades mais avançadas como lógica condicional, é uma ferramenta fiável que funcionou bem para mim em múltiplos sites.

licença Pro do WPForms inclui acesso ao suplemento de Registo de Utilizadores, que lhe permite criar formulários de registo e login no seu site WordPress.

A página de preços do WPForms.

Depois de ter comprado a licença Pro, deve instalar e ativar o WPForms no seu site WordPress. Se for a primeira vez, consulte este guia para aprender como instalar o WPForms.

Crie o Seu Formulário de Registo de Utilizador Agora

Passo 2: Instalar e Configurar o Suplemento de Registo de Utilizadores

Após instalar o plugin WPForms, também precisará de instalar o suplemento de Registo de Utilizadores.

Para instalar o suplemento, vá para a área de administração do WordPress e aceda a WPForms » Addons. Em seguida, percorra até encontrar o Suplemento de Registo de Utilizadores, ou use a barra de pesquisa. Quando o encontrar, clique em Instalar Suplemento.

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

Depois de ter instalado e ativado o suplemento de Registo de Utilizadores no seu site, prossiga para criar o seu formulário de registo.

Criar o Seu Formulário

Pode criar o seu formulário de raiz ou usar o nosso modelo de formulário de Registo de Utilizador para acelerar o processo de criação do formulário. Para este tutorial, usaremos o modelo de formulário de Registo de Utilizador. Para aceder a este modelo, navegue para WPForms » Adicionar Novo. Em seguida, selecione Modelos de Addon no menu lateral.

Aceder aos modelos de addon

A partir daqui, clique no botão Usar Modelo abaixo do modelo de Formulário de Registo de Utilizador.

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

Isto irá direcioná-lo para o construtor 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, prossiga e adicione um campo de escolhas ao seu formulário. Para este tutorial, adicionarei o campo Dropdown com 2 opções: Professor e Aluno.

Adicione o campo Lista Suspensa para selecionar o tipo de conta

Também ativarei a opção Obrigatório para que os utilizadores devam selecionar um tipo de conta ao registar-se.

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

Anote o ID do campo Dropdown, pois precisaremos dele no próximo passo.

Após adicionar os campos e personalizar as opções de campo, vá para Definições » Registo de Utilizador para aceder a definições adicionais para o addon.

Aceder às definições do addon de registo de utilizador

Se usou o modelo de formulário de Registo de Utilizador, todo o mapeamento de campos estará completo. No entanto, se estiver a criar o seu formulário de registo de raiz, terá de mapear os seus campos de formulário para os metadados de utilizador do WordPress.

Mapeamento de Campos no Addon de Registo de Utilizador

Por defeito, a secção Funções de Utilizador está definida como Subscritor. Não se preocupe com a atribuição de funções por agora, pois isto será tratado usando lógica condicional. No entanto, tenha em atenção que esta será a função padrão atribuída aos utilizadores se o snippet não funcionar corretamente no seu site.

Mapeamento de funções de utilizador

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

Guardar alterações

Passo 3: Adicionar Snippet para Atribuir Função de Utilizador Condicionalmente

O WPForms atualmente não suporta a atribuição de funções de utilizador com base na entrada de outros campos por defeito. No entanto, com um snippet PHP personalizado, pode personalizar o seu formulário de registo para atribuir funções de utilizador condicionalmente com base na entrada do formulário.

Para o nosso exemplo, definiremos para verificar o campo Dropdown que adicionámos ao formulário de registo. Se o utilizador selecionar Professor como o seu tipo de conta, atribuiremos uma função de Editor ao utilizador. Se selecionarem Aluno, o snippet atribuirá a função de Autor.

Atenção!

Esta secção contém snippets PHP personalizados e destina-se a utilizadores com conhecimentos técnicos e conhecimentos básicos de PHP. No entanto, pode acompanhar mesmo que seja um principiante, pois, na maioria das vezes, só precisará de atualizar o ID do Formulário e o ID do campo Dropdown.

Para prosseguir, copie e cole o snippet abaixo no seu site. Recomendo o uso do plugin WPCode para adicionar o snippet ao seu site. Este plugin facilita a adição de snippets de código personalizados a sites WordPress sem ter de mexer no ficheiro functions.php ou preocupar-se em quebrar o site.

Para obter detalhes sobre como usar o plugin WPCode, consulte o nosso tutorial sobre como adicionar snippets personalizados ao WordPress.

Explicação do Código

O trecho acima utiliza o filtro wpforms_user_registration_process_registration_get_data para capturar os dados do utilizador após o envio do seu formulário de registo. Estamos a verificar o campo de lista pendente no formulário e a atribuir ao utilizador uma função com base na sua entrada.

Definimos o trecho para funcionar apenas no formulário com o ID 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á a WPForms » Todos os Formulários 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 de utilizador condicionalmente no WordPress

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

O array $role_mapping é onde definimos o mapeamento para os valores do campo de lista pendente. Professor mapeia para a função de Editor no WordPress, enquanto a opção Aluno mapeia para a função de utilizador Autor. Pode adicionar mais pares chave-valor dependendo do número de opções no seu formulário de registo.

Dica Pro

O mapeamento dos campos Aluno e Professor no trecho acima corresponde às opções que especifiquei no campo de lista pendente ao personalizar o formulário de registo. Se as opções no seu campo de lista pendente forem diferentes das minhas, certifique-se de que atualiza os pares de chaves no array $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 trecho. Por exemplo, ‘editor’ corresponde à função de Editor no WordPress. Abaixo, destaquei as funções de utilizador padrão do WordPress e os seus slugs:

  • Administrador – ‘administrator’
  • Editor – ‘editor’
  • Autor – ‘author’
  • Colaborador – ‘contributor’
  • Subscritor – ‘subscriber’

Passo 4: Testar o Formulário para Atribuir Funções de Utilizador Condicionalmente

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

Enviarei um registo de teste no meu formulário e definirei o campo Tipo de Conta como Professor.

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

Agora, para verificar a conta do utilizador na área de administração do WordPress, vá 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.

Algo a ter em mente ao permitir que os utilizadores escolham a sua função no frontend é que não pode controlar as opções que os utilizadores selecionarão. Na nossa implementação, por exemplo, um aluno ainda pode escolher o tipo de conta Professor, e o formulário ainda será enviado.

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

Alternativamente, pode ativar a ativação do utilizador para o formulário de registo navegando para Definições » Registo de Utilizador no construtor de formulários. Em seguida, ative a opção Ativar ativação do utilizador e selecione o método Aprovação Manual.

Ativar ativação de utilizador

Desta forma, o administrador do site irá rever manualmente cada registo de utilizador e aprovar 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 de Upload de Ficheiros: Dicas Principais para Formulários Online

Passo 5: Publicar o Seu Formulário de Registo do WordPress

Para concluir, vamos adicionar o formulário de registo a uma página. Para tal, edite o formulário para aceder ao 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 incorporar formulário

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

Nomear a sua página e prosseguir

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 usando um shortcode ou widget.

FAQs – Como Atribuir Funções de Utilizador Condicionalmente

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

Posso atribuir múltiplas funções de utilizador condicionalmente?

Não, o núcleo do WordPress suporta apenas uma função por utilizador por defeito. No entanto, pode usar plugins como o User Role Editor para atribuir manualmente múltiplas funções.

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

Não, isto afeta apenas novos registos de utilizador através do WPForms. As funções dos utilizadores existentes permanecem inalteradas.

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

A forma mais fácil de conseguir isto é com um plugin do WordPress. Com o plugin Members, pode adicionar novas funções de utilizador no seu site e personalizar as capacidades de cada função. A nova função que criar aparecerá no menu suspenso Funções de Utilizador ao personalizar o addon de Registo de Utilizador do WPForms.

Por que é que o snippet não está a funcionar no meu site?

Isto pode ocorrer se o ID do formulário ou o ID do campo não corresponderem ao do seu formulário de registo. Certifique-se de que atualiza o snippet com os IDs do seu formulário e campo.

Além disso, se as opções no campo Dropdown não corresponderem às funções especificadas no snippet, o WPForms atribuirá ao utilizador a função por defeito especificada ao configurar o addon de Registo de Utilizador.

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 como exibir o formulário de registo no frontend do seu site. Mas sabia que pode ir um passo mais longe e embelezar o seu formulário? O WPForms permite-lhe estilizar os seus formulários do WordPress sem escrever qualquer CSS.

Pode também criar uma página de início de sessão personalizada com a marca do logótipo do seu site para permitir que os utilizadores iniciem sessão nas suas contas.

Estilize o seu formulário WordPress agora

Pronto para construir o seu formulário? Comece hoje com o plugin construtor de formulários WordPress mais fácil. O WPForms Pro inclui muitos modelos gratuitos e oferece uma garantia de devolução do dinheiro em 14 dias.

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

Divulgação: O nosso conteúdo é suportado pelo leitor. Isto significa que se clicar em alguns dos nossos links, poderemos ganhar uma comissão. Veja como o WPForms é financiado, porque é importante e como pode apoiar-nos.

David Ozokoye

David é um escritor técnico na WPForms. Ele testa e documenta novas funcionalidades e atualizações do plugin WPForms. Longe do computador, ele gosta de jogar videojogos e patinar. Saber Mais

O Melhor Plugin Construtor de Formulários Drag and Drop 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.

Adicionar um comentário

Temos todo o gosto que tenha escolhido deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com a 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 está protegido pelo Cloudflare Turnstile e aplicam-se a Política de Privacidade e os Termos de Serviço da Cloudflare.