显示名字而不是用户名

时间:2012-01-30 作者:Ben Bibikov

我有一个插件,在登录后输出用户名,我希望它显示的是名字。下面是执行此操作的代码。

        global $userdata,$user_identity;
        get_currentuserinfo();

        if ($userdata->ID>0) {
            // User is logged in
            echo \'<div class="login">\' . $before_widget . $before_title . "Welcome ".$user_identity . $after_title . \'</div>\';
            echo \'
                <ul class="login-links">
                    <li><a href="\'.get_bloginfo(\'wpurl\').\'/wp-login.php?action=logout&amp;redirect_to=http://\'.$_SERVER["SERVER_NAME"].$_SERVER[\'REQUEST_URI\'].\'">Logout</a></li>
                    <li><a href="\'.get_bloginfo(\'wpurl\').\'/wp-admin">Dashboard</a></li>
                    <li><a href="\'.get_bloginfo(\'wpurl\').\'/wp-admin/profile.php">Profile</a></li>

                </ul>
            \';
        } else {
        // User is NOT logged in!!!
                echo $before_widget . $before_title . \'<div class="login">Welcome Guest, <a href="\'.get_bloginfo(\'wpurl\').\'/wp-admin">Login</a></div>\' . $after_title;
$user\\u identity是Username我在wordpress论坛中搜索的结果,有人说我必须添加$current_user->first_name 到代码。问题是,在哪里以及如何添加它?我想我需要把它加到这行global $userdata,$user_identity; 但我如何正确地对其进行语法分析?我尝试过这样做,但出现语法错误global $userdata,$user_identity = $current_user->first_name;

非常感谢您的帮助。

2 个回复
SO网友:Rob Vermeer

改变global $userdata,$user_identity;global $userdata, $current_user, $user_identity;

然后更改

echo \'<div class="login">\' . $before_widget . $before_title . "Welcome ".$user_identity . $after_title . \'</div>\';

echo \'<div class="login">\' . $before_widget . $before_title . "Welcome ".$current_user->user_firstname . $after_title . \'</div>\';
您可以在codex中看到所有信息:http://codex.wordpress.org/Function_Reference/get_currentuserinfo

SO网友:Stephen Harris

$user_identity 使用用户配置文件页面上的“公开显示名称为”选项来决定要显示的内容。所以你可以在那里编辑。

或者,要始终显示名字,可以使用全局$current_user: 要获取名字,请执行以下操作:

$current_user->user_firstname
请参见Codex

结束

相关推荐

WP_LOGIN_FORM:根据用户名重定向到动态URL

我需要在登录后重定向用户。我使用wp_login_form 在frontpage上提供登录表单。用户输入用户名和密码后,我想重定向到自定义url,如http://myurl.com/username/ 其中“username”是用户输入的名称。我能过滤一下吗login_redirect?非常感谢。