Original: https://decodecms.com/mostrar-el-nombre-de-usuario-en-el-menu-de-wordpress/
Es posible que quieras mostrar el nombre del usuario que se ha registrado y posteriormente ha iniciado sesión en tu sitio web WordPress. Muchos sitios web utilizan este sistema que garantiza que el usuario está conectado a la web y puede navegar por la administración del sitio.
Tabla de Contenido
Generalidades
Creando el ítem de menú
Código para interpretar el marcador del ítem de menú
Resultado final
- Artículos relacionados
- Video explicativo
Generalidades
La forma de hacer esto es bastante sencilla. Solo tienes que incluir un código en el archivo functions.php de tu tema activo de WordPress, preferiblemente en un tema hijo (child theme) o en un plugin desarrollado para tal cosa, como puede ser por ejemplo un plugin de Snippets.
Creando el ítem de menú
En el panel de administración de WordPress dirígete 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 o del plugin de Snippets. Este es el código que tenemos que incluir:
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;
}
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;
}
Resultado final
Como ves es bastante fácil incluir el nombre del usuario que ha iniciado sesión en nuestro menú de WordPress, dando a la persona que está conectado a la web la facilidad de saber que está vinculado. Al final obtendremos algo similar a lo que se muestra en la siguiente imagen:
Si prefieres ver en formato vídeo como se realiza todo el proceso. Lo puedes ver a continuación: