Hace poco te mostramos cómo crear una experiencia personalizada para tus usuarios permitiéndoles guardar sus entradas favoritas en una biblioteca personalizada. Puedes llevar los resultados personalizados a otro nivel utilizando su nombre de pila en algunos lugares (por ejemplo, en la pantalla de bienvenida). Por suerte, WordPress hace que sea muy fácil obtener la información del usuario conectado. En este artículo le mostraremos cómo recuperar la información relativa al usuario actualmente conectado.
Utilizaremos la función get_currentuserinfo();. Esto puede ser usado en cualquier parte de tu tema (cabecera, pie de página, barra lateral, plantilla de página, etc). Para que esto funcione el usuario debe estar conectado. Así que necesitaremos usar la sentencia condicional is_user_logged_in(). Ejemplo 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 } ?>
Ahora, para los usuarios logueados, podemos mostrar un mensaje personalizado, por ejemplo, “Hey Syed, Todo está aquí, justo donde esperabas que estuviera”. El código anterior se convertirá en algo como esto:
<?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 } ?>
El código mágico que hemos añadido arriba es $current_user->user_firstname ; que funciona porque la llamada a get_currentuserinfo() coloca la información del usuario actual en $current_user. Puedes utilizar un método similar para obtener otra información acerca del usuario, como su login, ID de usuario, correo electrónico, sitio web, etc.
Aquí hay un ejemplo de uso de toda la información:
<?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 . " "; ?>
Espero que esto te ayude. Combinando esto con la posibilidad de añadir entradas favoritas, puedes crear fácilmente una experiencia personalizada.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Stef
You should update this. It’s outdated/deprecated.
WPBeginner Support
Thank you for your feedback and for letting us know about this article
Administrador
Hash
How to display logged in user’s profile picture ?
S Meredith
Hi Syed,
Fantastic site.
It’s helped me a lot with understanding WP and editing my own site.
My question is, once I’ve inserted the above function into my child themes functions.php, how would i create a shortcode so that I can then display this user information on a generic page?
Are shortcodes the best way to allow this to be displayed on any page i’d like.
For example, I have a static page that I would like to display ‘Welcome {user_name}’ and their profile picture.
WPBeginner Support
Shortcodes are easier way to do that. You can also create templates with specific WordPress functions. See our guide on how how to add a shortcode in WordPress
Administrador
ajay
how can i echo user infomation in page
Pavan
I know nothing about php. I just want to show the username of my customer on TOP bar navgation, and from there he can access his account. How do I do that.
Faruk
What if the user not logged in. Can the wordpress still send personalised email with his name? and if sa what is the variable and how?
WPBeginner Support
No WordPress can’t do that.
Administrador