Como utilizar get_user_by() no WordPress (PHP)2 min leitura

Explicação de como utilizar a função PHP get_user_by() do WordPress e um exemplo prático de código para obter o ID de um usuário através do seu e-mail (ou vice-versa).

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:

  1. $field: nome do campo utilizado para obter os dados do usuário – obrigatório. Opções de nomes: id, slug, email ou login;
  2. $value: valor para ser buscado em $field – obrigatório;

Seguem abaixo alguns exemplos de uso:

<?php // Pelo e-mail $usuario = get_user_by( 'email', '[email protected]' ); // 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] => [email protected] [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 viceversa) 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 = '[email protected]'; $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 [email protected] 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 [email protected] 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)

Similar Posts

Você tem algo construtivo sobre este texto para dizer? Então comente abaixo