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 certos 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 de Registro de Usuário sejam ferramentas poderosas para criar formulários de registro, às vezes você precisa 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 Capacidades de Usuário do WordPress

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

  • Administrador: Acesso total ao back-end do site. Essa função pode realizar atividades como adicionar novos usuários, editar funções de usuário, instalar plugins e temas, etc.
  • Editor: Pode gerenciar e publicar conteúdo, mesmo conteúdo escrito por outras pessoas. A função é frequentemente limitada a atividades relacionadas a posts.
  • Autor: A função de Autor no WordPress permite que os usuários publiquem e gerenciem apenas seus próprios posts.
  • Colaborador: No WordPress, a função de colaborador pode escrever e gerenciar seus posts, mas não pode publicá-los.
  • Assinante: Tem acesso limitado, geralmente para leitura ou comentários.

Cada função tem um conjunto de "capacidades" que ditam o que os usuários podem e não podem fazer. É importante se familiarizar com as capacidades das funções de usuário do WordPress para saber quais permissões os usuários receberão ao se registrar em seu site. Recomendo conferir o guia do WPBeginner se você quiser saber mais sobre funções e capacidades de 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.

Passo 1: Instalar e Ativar o Plugin WPForms

O WPForms é o melhor plugin 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 funcionou bem para mim em vários sites.

A licença Pro do WPForms inclui acesso ao complemento de Registro de Usuário, que permite criar formulários de registro e login em 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 em seu site WordPress. Se for sua primeira vez, confira este guia para saber como instalar o WPForms.

Crie Seu Formulário de Registro de Usuário Agora

Passo 2: Instalar e Configurar o Complemento de Registro de Usuário

Após instalar o plugin WPForms, você também precisará instalar o complemento de Registro de Usuário.

Para instalar o addon, acesse a área administrativa do WordPress e vá para WPForms » Addons. Em seguida, role para baixo até encontrar o User Registration Addon, ou use a barra de pesquisa. Quando o encontrar, clique em Install Addon.

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

Depois de instalar e ativar o addon User Registration em seu site, prossiga para criar seu 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 este modelo, navegue até WPForms » Adicionar Novo. Em seguida, selecione Modelos de Addon no menu da barra lateral.

Acessando modelos de addon

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

Clique em 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, adicione um campo de opções ao seu formulário. Para este tutorial, adicionarei o campo Dropdown com 2 opções: Professor e Aluno.

Adicione o campo Dropdown para selecionar o tipo de conta

Também ativarei a opção Obrigatório para que os usuários precisem selecionar um tipo de conta ao se registrar.

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

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

Após adicionar os campos e personalizar as opções de campo, vá para Configurações » Registro de Usuário para acessar configurações adicionais para o addon.

Acesse as configurações do addon de Registro de Usuário

Se você usou o modelo de formulário de registro de usuário, todo o mapeamento de campos estará completo. No entanto, se você estiver criando seu formulário de registro do zero, precisará mapear seus campos de formulário para os metadados de usuário do WordPress.

Mapeamento de Campos no Addon de Registro de Usuário

Por padrão, a seção Funções de Usuário está definida como Assinante. Não se preocupe com a atribuição de função por enquanto, pois isso será tratado usando lógica condicional. No entanto, observe que esta será a função padrão atribuída aos usuários se o snippet não funcionar corretamente em seu site.

Mapeamento de função de usuário

Quando terminar de personalizar seu formulário, certifique-se de clicar no botão Salvar para salvar suas alterações.

Salvar alterações

Passo 3: Adicionar Snippet para Atribuir 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, você pode personalizar seu formulário de registro para atribuir funções de usuário condicionalmente com base na entrada do formulário.

Para nosso exemplo, definiremos para verificar o campo Dropdown que adicionamos ao formulário de registro. Se o usuário selecionar Professor como seu tipo de conta, atribuiremos a função de Editor ao usuário. Se eles selecionarem Aluno, o snippet atribuirá a eles a função de Autor.

Atenção!

Esta seção contém snippets PHP personalizados e destina-se a usuários experientes com conhecimento básico de PHP. No entanto, você pode acompanhar mesmo sendo iniciante, pois, na maioria das vezes, você só precisará atualizar o ID do Formulário e o ID do campo Dropdown.

Para prosseguir, copie e cole o trecho abaixo em seu site. Recomendo usar o plugin WPCode para adicionar o trecho ao seu site. Este plugin facilita a adição de trechos de código personalizados a sites WordPress sem ter que mexer no arquivo functions.php ou se preocupar em quebrar o site.

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

Explicação do Código

O trecho acima usa o filtro wpforms_user_registration_process_registration_get_data para capturar os dados do usuário após o envio do formulário de registro. Estamos verificando o campo Dropdown no formulário e atribuindo uma função ao usuário com base na entrada dele.

Definimos o trecho para funcionar apenas no formulário com o ID 13. Isso corresponde ao ID do meu formulário de registro. Você precisará 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.

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

Além disso, a variável $role_field_id, que é o ID do campo Dropdown, está definida como 6 no código acima. Você também precisará substituí-la para corresponder à do seu campo Dropdown. Lembre-se que pedi para você anotar o ID do campo Dropdown. É aqui que usaremos o valor.

O array $role_mapping é onde definimos o mapeamento para os valores do campo Dropdown. Professor é mapeado para a função Editor no WordPress, enquanto a opção Aluno é mapeada para a função de usuário Autor.

Dica Profissional

O mapeamento dos campos Aluno e Professor no trecho acima corresponde às opções que especifiquei no campo Dropdown ao personalizar o formulário de registro. Se as opções no seu campo Dropdown forem diferentes das minhas, certifique-se de atualizar os pares de chaves no array $role_mapping para que correspondam aos valores que você usou em seu formulário.

Usamos o slug associado à função do usuário para mapeá-lo no trecho. 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 – ‘author’
  • Colaborador – ‘contributor’
  • Assinante – ‘subscriber’

Passo 4: Testando o Formulário para Atribuir Funções de Usuário Condicionalmente

O próximo passo após adicionar o trecho é testar o formulário para garantir que ele funcione corretamente antes de disponibilizá-lo aos seus usuários. Para isso, recomendo enviar uma entrada de teste para ver se a função do usuário é definida dinamicamente.

Enviarei um registro de teste em 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 usuário condicionalmente

Agora, para verificar a conta do usuário na área administrativa 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 apenas usuários com uma senha específica possam acessar o formulário.

Alternativamente, você pode habilitar a ativação de usuário para o formulário de registro navegando para Configurações » Registro de Usuário no construtor de formulários. Em seguida, ative a opção Habilitar ativação de usuário e selecione o método Aprovação Manual.

Habilitar ativação de usuário

Dessa forma, o administrador do site revisará 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 dele.

Leia Também: Segurança de Upload de Arquivos: Principais Dicas para Formulários Online

Passo 5: Publicar seu Formulário de Registro do WordPress

Para finalizar, vamos adicionar o formulário de registro a uma página. Para fazer 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 incorporar formulário

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

Decida como você quer incorporar seu formulário

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

Nomeie sua página e prossiga

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

Publique a página

Ao verificar esta 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.

FAQs – Como Atribuir Funções de Usuário Condicionalmente

Estas são as respostas para algumas das principais perguntas que vemos sobre a atribuição condicional de funções de usuário 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 plugins como o User Role Editor para atribuir manualmente várias funções.

Usuários existentes serão afetados quando eu implementar a atribuição condicional de funções de usuário?

Não, isso afeta apenas novos registros de usuários através do WPForms. As funções dos usuários existentes permanecem inalteradas.

Como crio uma função de usuário personalizada no WordPress?

A maneira mais fácil de conseguir isso é com um plugin do WordPress. Com o plugin Members, você pode adicionar novas funções de usuário em seu site e personalizar a capacidade de cada função. A nova função que você criar aparecerá no menu suspenso Funções de Usuário ao personalizar o addon de Registro de Usuário do WPForms.

Por que o trecho 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 trecho 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 usuário a função padrão especificada ao configurar o User Registration addon.

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

Agora, você tem um formulário de registro funcional que atribui dinamicamente funções de usuário com base na entrada de campos do seu formulário. Eu mostrei como exibir o formulário de registro no frontend do seu site. Mas você sabia que pode ir um passo além 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 a marca do logotipo do seu site para permitir que os usuários acessem suas contas.

Estilize seu formulário do WordPress agora

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

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

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

David Ozokoye

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

O Melhor Plugin Construtor 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.

Adicionar um comentário

Ficamos felizes que você tenha escolhido deixar um comentário. Por favor, tenha em mente 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 Termos de Serviço da Cloudflare.