各位应该看过很多 Woocommerce 商城站点菜单中有登录按钮,登录后变成用户名的情况吧,通过增加一个菜单和以下几行代码就可以完成。当然通过插件也可以完成,如需插件请看结论。

第一步:增加一个菜单
在后台 外观 -> 菜单 中找到 My account 页面或 登录页面 增加进入主菜单,并修改菜单名称为 #profile_name# 后保存。效果如下图 ↓

第二步:增加代码
在后台 外观 -> 主题编辑器 中打开 functions.php 文件,增加以下代码并保存 ↓
function give_profile_name($atts){
    $user=wp_get_current_user();
    $name=$user->user_firstname; 
    return $name;
}
add_shortcode('profile_name', 'give_profile_name');
add_filter( 'wp_nav_menu_objects', 'my_dynamic_menu_items' );
function my_dynamic_menu_items( $menu_items ) {
    foreach ( $menu_items as $menu_item ) {
        if ( '#profile_name#' == $menu_item->title ) {
          if ( is_user_logged_in() ) {
            global $current_user;
            wp_get_current_user();
            $menu_item->title = 'Hello, ' . $current_user->display_name;
          } else {
            $menu_item->title = 'SIGN IN';
          }
        }
    }
    return $menu_items;
}
第三步:代码中的修改
到这一步你刷新页面并登陆已经能看到 Hello, 用户名 的情况了,如果你需要修改这段内容或者 SIGN IN 的内容,如下图 ↓

总结
这种功能可以采取两种方式。一种是纯代码形式,就是上述方式,一种是使用插件形式,例如 User Menus 插件也可以完成这种功能,但是安装过多插件会导致后台变的非常慢,所以这里我推荐增加几行代码的形式。
 
								 
															 
				
 
  