Cómo mostrar el nombre de usuario en el menú de WordPress
Según tu negocio puede ser de gran importancia desplegar el nombre de usuario actualmente registrado en el menú del sitio. Para ello les mostraré como hacerlo de forma simple con un poco de código.
Solo tienes que incluir un código en el archivo functions.php de tu tema activo de WordPress
Lo primero es ir al panel de administración de WordPress, específicamente a Apariencia –> Menús y elige el menú donde quieres poner el nombre de usuario. El nuevo ítem de menú tendrá un marcador de posición que posteriormente será reemplazado (lo puedes ver en la captura de pantalla a continuación). Ejemplo: #profile_name#, #usuario#, #nombre#.
Código para interpretar el marcador del ítem de menú
Más adelante incluye el código en el archivo functions.php del tema hijo. Este es el código:
add_filter( 'wp_nav_menu_objects', 'my_dynamic_menu_items' );
function my_dynamic_menu_items( $menu_items ) {
$final_menu = [];
foreach ( $menu_items as $menu_item ) {
if ( '#profile_name#' == $menu_item->title ) {
$user=wp_get_current_user();
if ( $user->ID ){
$menu_item->title = $user->user_firstname;
$final_menu[] = $menu_item;
}
} else {
$final_menu[] = $menu_item;
}
}
return $final_menu;
}
Si quieres mostrar el gravatar del usuario puedes usar get_avatar(), con esto el código anterior quedaría de la siguiente manera:
add_filter( 'wp_nav_menu_objects', 'my_dynamic_menu_items' );
function my_dynamic_menu_items( $menu_items ) {
$final_menu = [];
foreach ( $menu_items as $menu_item ) {
if ( '#profile_name#' == $menu_item->title ) {
$user=wp_get_current_user();
if ( $user->ID ){
$avatar = get_avatar( $user->ID, 16 );
$menu_item->title = $avatar." ".$user->user_firstname;
$final_menu[] = $menu_item;
}
} else {
$final_menu[] = $menu_item;
}
}
return $final_menu;
}