Adicionar Usuário no Blog via PHP
Depois de escrever um artigo aqui no Profissionais Web mostrando como inserir posts usando php de forma automática, recebi alguns pedidos para criar um artigo mostrando como criar ou adicionar novos usuários pelo PHP de forma também automática. Pois bem, resolvi acatar os pedidos e estou criando esse post de hoje.
Quem não leu o outro artigo pode acessar nesse link Adicionar Posts via PHP.
Pra quem fica vamos em frente. A utilidade de se saber criar ou adicionar usuários no wordpress são várias, creio que se você está lendo este post, já tenha em mente alguma aplicação onde você vai precisar desse recurso.
Pois bem, para nossa felicidade o wordpress já tem uma função que pode ser utilizada por nós para inserir novos usuários no blog, que é a wp_insert_user( $user_data ). O parâmetro que essa função possui é uma variável array com os dados respectivos do usuário que você deseja criar. Veja esse exemplo, volto depois:
function create_user_($user_login,$user_nice_name, $user_pass, $user_email, $user_display_name, user_nickname,$user_first_name,$user_last_name,$user_role){
$user_data = array();
$user_data["user_pass"] = $user_pass;
$user_data["user_login"] = $user_login;
$user_data["user_nicename"] = $user_nice_name;
$user_data["user_email"] = $user_email;
$user_data["display_name"] = $user_display_name;
$user_data["nickname"] = $user_nickname;
$user_data["first_name"] = $user_first_name;
$user_data["first_name"] = $user_last_name;
$user_data["role"] = $user_role;
return wp_insert_user( $user_data );
}
O underline no final da função é proposital, visto que já existe uma função chamada create_user no wordpress só que a mesma não é mais encorajada a ser utilizada. Inclusive a função wp_create_user, creio eu, é a função que veio pra substituir ela.
Nessa função create_user_, como pode ser visto, há vários parâmetros, então basta invocar ela passando os valores respectivos de cada variável. As variáveis mais importantes e que merecem uma explanação são as seguintes:
$user_login - login do usuário $user_pass - senha do usuário $user_email - email do usuário $user_first_name - primeiro nome do usuário $user_last_name - último nome do usuário $user_role - nível do usuário, os valores possíveis são (author, subscriber, admin, contributor)
Pra quem não sabe o que significa cada nível de usuário, vai aqui uma explanação:
- author – Usuário com permissão para editar e publicar posts
- subscriber – Usuário comum, não pode publicar posts nem enviar o mesmo para moderação, pode apenas comentar nos posts dos outros
- admin – Administrador do blog, possui todos os acessos, pode editar, publicar, excluir posts até de outros usuários
- contributor – Usuário com permissão para enviar posts para moderação, não possui permissão para publicar seus posts.
A função wp_insert_user irá retornar o ID do usuário que foi inserido no banco de dados do wordpress, então com base na função que criei create_user_, basta atribuir o retorno desta função em uma variável para saber qual o ID do usuário que acabou de ser criado. Veja uma idéia:
$id_user = create_user_("bill","bill_gates", "microsoft", "billgates@microsoft", "Bill Gates", "Bill Gates","Bill","Gates","author");
A função wp_insert_user ainda possui mais parâmetros respectivos ao usuário a ser criado, vejamos elas:
ID Se você passa o ID do user, a função invés de inserir um novo usuário irá atualizar os dados do respectivo usuário
user_url Url do site do usuário
description Descrição do usuário
rich_editing Habilitar editor de texto completo
user_registered Data do registro do usuário. O Formato é Y-m-d H:i:s.
jabber Conta Jabber do usuário
aim Conta do mensageiro instantâneo AOL do usuário
yim Conta do mensageiro instantâneo Yahoo do usuário
Agora, para quem procura algo mais simples, com menos parâmetros, o wordpress também oferece a função wp_create_user. A função wp_create_user possui a mesma função da função wp_insert_user, no entanto essa função possui apenas três parâmetros que são: nome de usuário, senha e email.
Veja um exemplo:
$user_id = wp_create_user("billgates", "microsoft", "billgates@microsoft" );
Como se pode imaginar, o retorno da função wp_create_user também é o ID do usuário recém criado.
Viram como é fácil inserir novos usuários no blog wordpress através de script php externo, plugins ou editando o arquivo functions do thema corrente?
Até mais, pessoal.









