Como criar um usuário do WordPress programaticamente
Publicados: 2021-10-23Você está procurando maneiras alternativas de criar usuários que não envolvam o painel de administração? Se sim, este post é para você. Neste guia, mostraremos como criar um usuário do WordPress programaticamente junto com scripts de exemplo que você pode usar em seu site.
Hoje em dia, a maioria dos sites permite que os visitantes criem uma conta e se tornem usuários registrados para obter certos benefícios, como ofertas e descontos exclusivos.
Quando um novo usuário se registra, o site coleta informações sobre o perfil e atribui uma função a esse usuário. Essas funções permitem definir permissões diferentes para cada usuário, como acessar algum conteúdo restrito, exibir um menu de navegação específico para cada função, ter acesso a determinadas ofertas e assim por diante.
O WordPress permite gerenciar diferentes tipos de usuários e fornece recursos completos de gerenciamento de usuários. Usando as várias funções disponíveis por padrão, você pode criar, atualizar e excluir usuários e atribuir permissões diferentes a cada um. Isso é bom para alguns sites, mas se você quiser uma solução mais complexa para gerenciar diferentes tipos de permissões, talvez seja necessário criar usuários do WordPress programaticamente.
Vamos dar uma olhada em como você pode fazer isso.
Como criar um usuário do WordPress programaticamente
Para criar usuários programaticamente, você pode aproveitar algumas das funções incorporadas do WordPress. Em todos os casos, os únicos valores obrigatórios são nome e senha.
Depois que um usuário é criado, o WordPress pode enviar um e-mail para concluir o registro de sua caixa de correio. Mesmo que o usuário já conheça as credenciais de login, é sempre uma boa ideia enviar e-mails de registro de usuário por alguns motivos:
- Certifique-se de que o e-mail fornecido está correto e não contém erros de digitação
- Os usuários podem voltar a esse e-mail caso esqueçam o usuário ou a senha
Ao criar usuários, você pode atribuir uma senha, nome e função. Mais tarde, os usuários podem alterar e atualizar qualquer um desses detalhes, bem como todas as informações de seus perfis.
Agora que temos uma ideia clara do que você pode fazer, vamos dar uma olhada em alguns scripts de exemplo que permitirão que você crie usuários de diferentes maneiras.
NOTA : Como vamos editar alguns arquivos principais, antes de começar, recomendamos que você gere um backup completo do seu site. Além disso, recomendamos que você crie um tema filho ou use um plug-in de tema filho se ainda não estiver usando um.
Scripts de exemplo para criar usuários do WordPress com código
Nesta seção, mostraremos vários scripts que você pode usar para criar usuários em seu site programaticamente. Você encontrará os scripts e uma explicação do que cada seção do código faz.
Criar um único usuário
Criar um usuário do WordPress programaticamente é bastante simples e requer apenas uma única linha de código. Os únicos valores obrigatórios são nome e senha e você também pode definir a senha usando a função wp_create_user()
da seguinte forma:
wp_create_user( 'johndoe', 'passwordgoeshere', '[email protected]');
Cole esta linha de código no arquivo functions.php
do seu tema filho para criar um usuário chamado johndoe .
Além disso, podemos fazer mais algumas coisas para melhorar o código acima. Por exemplo, para evitar a criação do usuário quando ele estiver navegando pelas páginas de back-end ou recarregando a tela, você deve usar um gancho. O novo código ficará mais ou menos assim:
add_action('admin_init','QuadLayers_create_user'); function QuadLayers_create_user(){ wp_create_user( 'johndoe', 'passwordffgoeshere', '[email protected]'); }
Se você não estiver familiarizado com ganchos, recomendamos que você dê uma olhada no nosso Guia de Ganchos.
Crie vários usuários
Em vez de repetir a função acima várias vezes, existe uma maneira mais eficiente de criar vários usuários de uma só vez.
A função a seguir criará usuários de um determinado array, onde nomes e senhas são armazenados.
add_action('admin_init','QuadLayers_create_users'); function QuadLayers_create_users(){ $usuários=matriz( array('johndoe','thepassword1'), array('tomdoe','thepassword2'), array('andrewdoe','thepassword3'), array('jeffdoe','a senha4') ); foreach($usuários como $usuário){ wp_create_user( $usuário[0], $usuário[1]); } }
Para conseguir isso, usamos um loop foreach()
para criar os quatro usuários armazenados no array $users
.
Neste exemplo, criamos quatro usuários, mas você pode criar quantos quiser. Basta adicioná-los à matriz e atribuir-lhes um nome e uma senha.
Crie um usuário e envie um e-mail
Agora vamos ver como você pode criar um usuário, gerar uma senha e enviá-la para um determinado e-mail com um pouco de código.
No script a seguir, usamos duas novas funções:
- wp_generate_password() para gerar uma senha
- wp_mail() para enviar o email de registro para o destinatário
add_action('admin_init','QuadLayers_create_user_send_mail'); function QuadLayers_create_user_send_mail(){ $password=wp_generate_password(12, true); wp_create_user('joedoe',$senha); wp_mail( '[email protegido]', 'Bem-vindo!', 'Sua senha é: ' . $password ); }
Este código criará um usuário do WordPress programaticamente, gerará uma senha e enviará um e-mail para [email protected] que diz “Bem-vindo! Sua senha é “ . Certifique-se de personalizar o usuário, e-mail e mensagem ao usá-lo em seu site.
Criar usuário e atribuir dados de conta
Neste exemplo, estamos criando um usuário com informações anexadas, como nome, sobrenome e função.
Observe que usamos uma função diferente aqui. Em vez da função wp_create_user()
, usamos wp_insert_user()
, que é semelhante, mas mais flexível e poderosa.
add_action('admin_init','QuadLayers_create_user_meta'); function QuadLayers_create_user_meta(){ wp_insert_user( array( 'user_login' => 'janedoe', 'user_pass' => 'senha aqui', 'user_email' => '[email protegido]', 'first_name' => 'Jane', 'last_name' => 'Doe', 'display_name' => 'Jane Doe', 'papel' => 'editor' )); }
Como você pode ver, neste exemplo estamos criando um usuário e atribuindo um nome (Jane), sobrenome (Doe), email ( [email protected]) , role ( editor ) e assim por diante.
Verifique se o usuário existe
Esse script é para validação e é útil na maioria dos casos, por isso recomendamos que você o aplique ao seu código.
Aqui está como você pode verificar se um usuário existe a partir de um nome de usuário (janedoe neste exemplo) usando a função username_exists()
.
add_action('admin_init','QuadLayers_if_user_exists'); function QuadLayers_if_user_exists(){ if( null == username_exists( 'janedoe' ) ) { echo "not an Existing User";// Faça algo para um usuário inexistente } senão{ echo "Usuário existente"; // Faça algo se o nome de usuário existir } }
Este script marca os usuários com dois textos diferentes dependendo de existirem ou não:
- Usuários que não existem: “não é um usuário existente”
- Usuários existentes: “Usuário existente”
Conclusão
Em suma, o WordPress vem com recursos para criar, gerenciar e excluir diferentes tipos de usuários. Mesmo que isso seja suficiente para a maioria dos sites, se você quiser ter mais opções e poder gerenciar mais permissões, é uma boa ideia criar usuários usando um pouco de código.
Neste guia, vimos como criar um usuário do WordPress programaticamente e vários exemplos para tornar o processo mais eficiente. Vimos como criar vários usuários de uma vez, como enviar um e-mail automaticamente e atribuir dados a eles. Por fim, adicionamos validação para verificar se o usuário já existe ou não. Agora é hora de personalizar esses scripts e usá-los em seu site!
Você adicionou usuários ao seu site usando esses scripts? Como você os personalizou? Deixe-nos saber nos comentários abaixo!
Para mais opções para melhorar seu site com um pouco de código, dê uma olhada nos seguintes guias:
- Como criar um tipo de postagem personalizado do WordPress programaticamente
- Guia para criar posts e páginas programaticamente no WordPress
- Como alterar o status do pedido automaticamente no WooCommerce