Com a função PHP get_user_by() você obtém as informações de um usuário do WordPress a partir de algum dos seus dados. Ela possui dois parâmetros:
- $field: nome do campo utilizado para obter os dados do usuário – obrigatório. Opções de nomes:
id
,slug
,email
oulogin
; - $value: valor para ser buscado em
$field
– obrigatório;
Seguem abaixo alguns exemplos de uso:
<?php
// Pelo e-mail
$usuario = get_user_by( 'email', 'usuario@danielkossmann.com' );
// Pelo id (ou ID)
$usuario = get_user_by( 'id', 1 );
// Pelo nome de usuário (user_login)
$usuario = get_user_by( 'login', 'Daniel Kossmann' );
// Pelo user_nicename (versão "slug" do nome de usuário)
$usuario = get_user_by( 'slug', 'daniel-kossmann' );
Code language: PHP (php)
Veja abaixo um exemplo de resultado do valor retornado pela função:
WP_User Object(
[data] => stdClass Object(
[ID] => 4
[user_login] => Daniel Kossmann
[user_pass] => $P$BZRUfiVxJYFZKpmukkHTL8Jz/xR9ff1
[user_nicename] => daniel-kossmann
[user_email] => usuario@danielkossmann.com
[user_url] =>
[user_registered] => 2022-01-04 23:16:12
[user_activation_key] => 1641338172:$P$BcqY.LJ3.G6H6hS5X0Q5BRzrlU5JL/1
[user_status] => 0
[display_name] => Daniel Kossmann
)
[ID] => 4
[caps] => Array(
[subscriber] => 1
)
[cap_key] => wp_capabilities
[roles] => Array(
[0] => subscriber
)
[allcaps] => Array(
[read] => 1
[level_0] => 1
[subscriber] => 1
)
[filter] =>
[site_id:WP_User:private] => 1
)
Code language: PHP (php)
Obtendo o ID de um usuário através do seu e-mail (ou vice–versa) no WordPress
Um possível uso da função PHP get_user_by() é para obter o ID de um usuário a partir do seu e-mail. Veja abaixo como ficou o código:
<?php
$usuario_email = 'usuario@danielkossmann.com';
$usuario = get_user_by( 'email', $usuario_email );
// Verifica se foi enconrado um usuário
if ( !empty( $usuario ) ) {
// Exibe as informações de forma que o conteúdo seja traduzível
printf(
__( 'O usuário com e-mail %s possui o ID=%d e foi registrado em %s.', 'danielkossmann' ),
$usuario_email,
$usuario->ID,
$usuario->user_registered
);
// Exemplo de resultado: O usuário com e-mail usuario@danielkossmann.com possui o ID=4 e foi registrado em 2022-01-04 23:16:12.
} else {
_e( 'Não foi encontrado nenhum usuário com este e-mail.', 'danielkossmann' );
}
Code language: PHP (php)
Também é possível fazer o processo inverso, obtendo o e-mail através do ID do usuário:
<?php
$usuario_id = 4;
$usuario = get_user_by( 'id', $usuario_id );
// Verifica se foi enconrado um usuário
if ( !empty( $usuario ) ) {
// Exibe as informações de forma que o conteúdo seja traduzível
printf(
__( 'O usuário com ID=%d possui o e-mail %s e foi registrado em %s.', 'danielkossmann' ),
$usuario_id,
$usuario->user_email,
$usuario->user_registered
);
// Exemplo de resultado: O usuário com ID=4 possui o e-mail usuario@danielkossmann.com e foi registrado em 2022-01-04 23:16:12.
} else {
_e( 'Não foi encontrado nenhum usuário com este e-mail.', 'danielkossmann' );
}
Code language: PHP (php)
Deixe um comentário