Resumo de IA
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
- Passo 2: Instalar e Configurar o Suplemento de Registo de Utilizadores
- Passo 3: Adicionar Snippet para Atribuir Função de Utilizador Condicionalmente
- Passo 4: Testar o Formulário para Atribuir Funções de Utilizador Condicionalmente
- Passo 5: Publicar o Seu Formulário de Registo do 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.
A 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.
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.
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.
A partir daqui, clique no botão Usar Modelo abaixo do modelo de Formulário de Registo de Utilizador.
Isto irá direcioná-lo para o construtor de formulários, onde poderá personalizar ainda mais o modelo.
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.
Também ativarei a opção Obrigatório para que os utilizadores devam selecionar um tipo de conta ao registar-se.
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.
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.
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.
Assim que terminar de personalizar o seu formulário, certifique-se de clicar no botão Guardar para guardar as suas 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.
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.
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.
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.
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.
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.
Dê um nome à sua nova página e clique em Vamos Lá .
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.
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.