Recientemente te mostramos cómo crear una experiencia personalizada para tus usuarios permitiéndoles guardar sus publicaciones favoritas en una biblioteca personalizada. Puedes llevar los resultados personalizados a otro nivel utilizando su nombre de pila en lugares (es decir, la pantalla de bienvenida). Afortunadamente, WordPress facilita mucho la obtención de la información del usuario conectado. En este artículo, te mostraremos cómo recuperar información relacionada con el usuario actualmente conectado.
Utilizaremos la función get_currentuserinfo(). Esto se puede usar en cualquier parte de tu tema (encabezado, pie de página, barra lateral, plantilla de página, etc.). Para que esto funcione, el usuario debe estar conectado. Por lo tanto, necesitaremos usar la declaración condicional is_user_logged_in(). Código de ejemplo:
<?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 conectados, podemos mostrar un mensaje personalizado, por ejemplo: "Hola 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 agregamos anteriormente es $current_user->user_firstname;, que funciona porque la llamada a get_currentuserinfo() coloca la información del usuario actual en $current_user. Puedes usar un método similar para obtener otra información sobre el usuario, como su nombre de usuario, 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 . "
";
?>
Esperamos que esto ayude. Combinando esto con la capacidad de agregar publicaciones favoritas, puedes crear fácilmente una experiencia personalizada.

Stef
Deberías actualizar esto. Está obsoleto/deprecado.
Soporte de WPBeginner
Thank you for your feedback and for letting us know about this article
Administrador
Hash
¿Cómo mostrar la foto de perfil del usuario conectado?
S Meredith
Hola Syed,
Sitio fantástico.
Me ha ayudado mucho a entender WP y a editar mi propio sitio.
Mi pregunta es, una vez que he insertado la función anterior en el functions.php de mi tema hijo, ¿cómo crearía un shortcode para poder mostrar esta información del usuario en una página genérica?
¿Son los shortcodes la mejor manera de permitir que esto se muestre en cualquier página que yo quiera?
Por ejemplo, tengo una página estática donde me gustaría mostrar 'Bienvenido {user_name}' y su foto de perfil.
Soporte de WPBeginner
Los shortcodes son una forma más fácil de hacer eso. También puedes crear plantillas con funciones específicas de WordPress. Consulta nuestra guía sobre cómo agregar un shortcode en WordPress
Administrador
ajay
¿cómo puedo mostrar información del usuario en una página?
Pavan
No sé nada de PHP. Solo quiero mostrar el nombre de usuario de mi cliente en la barra de navegación SUPERIOR, y desde allí puede acceder a su cuenta. ¿Cómo hago eso?
Faruk
¿Qué pasa si el usuario no ha iniciado sesión? ¿Puede WordPress aún enviar un correo electrónico personalizado con su nombre? y si es así, ¿cuál es la variable y cómo?
Soporte de WPBeginner
No, WordPress no puede hacer eso.
Administrador