Como Obter Informações do Usuário Logado no WordPress para Resultados Personalizados

Recentemente, mostramos como criar uma experiência personalizada para seus usuários permitindo que eles salvem seus posts favoritos em uma biblioteca personalizada. Você pode levar os resultados personalizados para outro nível usando o primeiro nome deles em locais (como a tela de boas-vindas). Felizmente, o WordPress torna muito fácil obter as informações do usuário logado. Neste artigo, mostraremos como recuperar informações referentes ao usuário atualmente logado.

Utilizaremos a função get_currentuserinfo();. Isso pode ser usado em qualquer lugar do seu tema (cabeçalho, rodapé, barra lateral, modelo de página, etc.). Para que isso funcione, o usuário deve estar logado. Portanto, precisaremos usar a instrução condicional is_user_logged_in(). Exemplo de código:

<?php if ( is_user_logged_in() ) { ?>
    <!-- text that logged in users will see -->
<?php } else {   ?>
    <!-- here is a paragraph that is shown to anyone not logged in -->

<p>By <a href="<?php bloginfo('url'); ?>/wp-register.php">registering</a>, you can save your favorite posts for future reference.</p>
<?php } ?>

Agora, para os usuários logados, podemos mostrar uma mensagem personalizada, por exemplo: “Olá Syed, tudo está aqui, exatamente onde você esperava que estivesse”. O código acima se transformará em algo assim:

<?php if ( is_user_logged_in() ) { ?>
    <!-- text that logged in users will see -->

<?php global $current_user; get_currentuserinfo(); ?>

<h1>Hi <?php echo $current_user->user_firstname; ?></h1>

<p>Everything is here, right where you hoped it would be :)</p>

<?php } else {   ?>
    <!-- here is a paragraph that is shown to anyone not logged in -->

<p>By <a href="<?php bloginfo('url'); ?>/wp-register.php">registering</a>, you can save your favorite posts for future reference.</p>
<?php } ?>

O código mágico que adicionamos acima é $current_user->user_firstname; que está funcionando porque a chamada para get_currentuserinfo() coloca as informações do usuário atual em $current_user. Você pode usar um método semelhante para obter outras informações sobre o usuário, como login, ID de usuário, e-mail, site, etc.

Aqui está um exemplo de uso de todas as informações:

<?php global $current_user;
      get_currentuserinfo();

      echo 'Username: ' . $current_user->user_login . "
";
      echo 'User email: ' . $current_user->user_email . "
";
      echo 'User first name: ' . $current_user->user_firstname . "
";
      echo 'User last name: ' . $current_user->user_lastname . "
";
      echo 'User display name: ' . $current_user->display_name . "
";
      echo 'User ID: ' . $current_user->ID . "
";
?>

Esperamos que isso ajude. Combinando isso com a capacidade de adicionar posts favoritos, você pode facilmente criar uma experiência personalizada.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

9 CommentsLeave a Reply

  1. Olá Syed,
    Site fantástico.
    Me ajudou muito a entender o WP e a editar meu próprio site.
    Minha pergunta é, depois de inserir a função acima no functions.php do meu tema filho, como eu criaria um shortcode para poder exibir essas informações do usuário em uma página genérica?

    Shortcodes são a melhor maneira de permitir que isso seja exibido em qualquer página que eu quiser?

    Por exemplo, tenho uma página estática onde gostaria de exibir 'Bem-vindo {user_name}' e a foto de perfil dele.

  2. Não sei nada de PHP. Só quero mostrar o nome de usuário do meu cliente na barra de navegação SUPERIOR, e de lá ele pode acessar a conta dele. Como faço isso.

  3. E se o usuário não estiver logado. O WordPress ainda pode enviar um e-mail personalizado com o nome dele? e se sim, qual é a variável e como?

Deixe uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.