Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo obtener información del usuario conectado en WordPress para resultados personalizados

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.

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

Obtén acceso GRATUITO a nuestro kit de herramientas: ¡una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Interacciones del lector

9 CommentsLeave a Reply

  1. 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.

  2. 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?

  3. ¿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?

Deja una respuesta

Gracias por elegir dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de comentarios, y tu dirección de correo electrónico NO será publicada. Por favor, NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.