Cómo mostrar el nombre del usuario conectado en tu web

Hay muchas situaciones en las que es interesante mostrar el nombre del usuario conectado en tu web, y casi todas tienen que ver con la personalización y la fidelización.

Es un toque, un detalle, que gustará a tus usuarios, eso seguro, no digamos si tienes un sitio de membresía.

Vamos a ver cómo mostrar el nombre del usuario conectado una vez haya accedido, y algunos trucos más.

Mostrar el nombre de usuario conectado donde quieras con un shortcode

Para ello nada más práctico que crear un shortcode que luego puedas poner donde gustes, un widget por ejemplo.

Primero creamos la función…

function ayudawp_mostrar_conectado( $atts ) {
	global $current_user, $user_login;
      	wp_get_current_user();
	add_filter('widget_text', 'apply_shortcodes');
	if ($user_login)
		return '¡Hola ' . $current_user->display_name . '!';
	else
		return 'Acceder';
}
add_shortcode( 'mostrar_conectado', 'ayudawp_mostrar_conectado' );

En este ejemplo hemos usado

display_name

para mostrar el nombre visible del usuario, pero puedes añadir otra información del usuario:

  • user_login
  • user_email
  • user_level
  • user_firstname
  • user_lastname
  • ID

El código puedes añadirlo al final del archivo functions.php del tema activo o a tu plugin de utilidades.

Ahora solo te quedaría insertar el shortcode

[mostrar_conectado]

donde quieras que se vea, por ejemplo en un widget de texto.

Y como ves en la captura anterior se mostrará un saludo al usuario conectado, mostrando – en este ejemplo – su nombre completo visible.

Mientras, cuando no esté conectado, verá un enlace para acceder.

Lo bueno de los shortcodes es que puedes usarlos en cualquier parte, por ejemplo en una entrada, lo que añadiría una capa de personalización muy chula a tus contenidos.

Por ejemplo, si creamos el shortcode para que muestre solo el nombre de pila del usuario, así:

function ayudawp_mostrar_conectado( $atts ) {
 global $current_user, $user_login;
      	wp_get_current_user();
 add_filter('widget_text', 'apply_shortcodes');
 if ($user_login)
 return '¡Hola ' . $current_user->user_firstname . '!';
}
add_shortcode( 'mostrar_conectado', 'ayudawp_mostrar_conectado' );

Podemos usar el shortcode de un modo muy creativo en nuestras publicaciones…

Para ofrecer nuestro contenido siempre personalizado, saludando al usuario conectado.

Como puedes ver, un mundo de posibilidades. Piensa, piensa …

Nota: Observa que he utilizado la función

apply_shortcodes

introducida en WordPress 5.4. Aún funciona la función

do_shortcode

pero es mejor que te vayas acostumbrando a usar la nueva.

Mostrar el nombre de usuario conectado en cualquier parte del tema

Ahora bien, si prefieres no usar shortcodes sino insertar un código en alguna parte específica de tu tema (cabecera, pié de página, barra lateral, contenido, etc.) entonces te propongo este código:

¡Hola ' . esc_html( $current_user->display_name . '!');
    }
}
?>

Que, ya puestos, puedes añadirle también el avatar, como toque de personalización adicional…

ID, 64 );
		echo ' 
¡Hola ' . esc_html( $current_user->display_name . '!'); } } ?>

Y tendrías algo así…

En este ejemplo he metido el código en el archivo

sidebar.php

del tema, antes de los widgets.

Cómo mostrar el nombre de usuario conectado en un menú personalizado

Otra posibilidad, también muy interesante, sería saludar al usuario conectado desde tu menú de navegación personalizado.

Para ello nos valdremos de una función como la siguiente:

/* Saludo a usuario en menu */
add_filter( 'wp_nav_menu_objects', 'saluda_usuario_menu');
function saluda_usuario_menu($items) {
    $remove_childs_of = array();
    foreach($items as $index => $item) {
        if($item->title == "##usuario##") {
            if(is_user_logged_in()) {
                $user=wp_get_current_user();
                $name=$user->user_firstname; // o user_login, user_lastname, display_name
                $items[$index]->title = $name;
            }
            else {
                array_push($remove_childs_of, $item->ID);
                unset($items[$index]);
            }
        }
        if(!empty($remove_childs_of) && in_array($item->menu_item_parent, $remove_childs_of)) {
            array_push($remove_childs_of, $item->ID);
            unset($items[$index]);
        }
    }
    return $items;
}

Como siempre, añadiremos esta función a nuestro plugin de funcionalidades o al archivo functions.php del tema activo (mejor al final del todo).

El siguiente paso sería añadir un nuevo elemento a nuestro menú:

##usuario##

en el ejemplo.

Como verás en la captura anterior se muestra el nombre del usuario conectado.

En el caso de que el visitante no esté conectado no mostrará nada, dejando limpio tu menú.

Resumiendo

Como habrás podido comprobar, mostrar el nombre de los usuarios conectados te abre un montón de posibilidades de personalización y detalle en tu web.

Y, como siempre, WordPress nos ofrece las funcionalidades para conseguirlo de manera sencilla, da igual dónde lo queramos aplicar.

Seguramente habrá algún plugin que ayude con parte o todo de lo que hemos visto, pero no he podido encontrar ninguno que solo haga estas cosas. Si sabes de alguno nos lo cuentas en los comentarios.

Nada más. La verdad es que no tenía pensado este tutorial, pero me lo pidieron el otro día en Twitter y me pareció buena idea.

Espero que te sirva en tus proyectos web.

La entrada Cómo mostrar el nombre del usuario conectado en tu web la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Laura D´Cuero

Copywriter, Redactora de Content SEO.
Laura D´Cuero

Latest posts by Laura D´Cuero (see all)

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *