wordpress如何在头部定制自己的登录控制和用户信息4.6版本

cropped-collection-4-1-e1472441158228.png

在我想自定义首页的登录用户信息展示的时候,我想到应该获得登录用户的基本信息和头像,当然,我们还得获得登录,注册以及注册的连接来方便用户操作。

【获得用户的信息】


$current_user = wp_get_current_user();//得到当前用户对象
echo 'Username: ' . $current_user->user_login . '<br />';//获得用户登录名
echo 'User email: ' . $current_user->user_email . '<br />';//获得用户邮箱
echo 'User first name: ' . $current_user->user_firstname . '<br />';//获得firstname
echo 'User last name: ' . $current_user->user_lastname . '<br />';//获得lastname
echo 'User display name: ' . $current_user->display_name . '<br />';//获得用户的昵称
echo 'User ID: ' . $current_user->ID . '<br />';//获得用户id(一般是在数据库中的id)

当然,我们在获取当前用户的时候最好先做一下是否登录判断使用这个函数is_user_logged_in()

至此,我们获得了用户的基本信息。

【获得用户的头像】

我们一般使用get_avatar() 这个函数来获取用户的头像信息。这个函数的好好介绍一下,能够获取到头像并且修改图像的显示大小。这个函数有一下一些参数:

get_avatar( $id_or_email, $size, $default, $alt );

参数:

$id_or_email

(整数 | 字符串 | 对象)(必须)用户的 ID;邮箱;评论或者用户的对象。如果在循环中可以使用 get_the_author_meta( ‘ID’ ) 函数调用当前文章的作者。

默认值:None

$size

(整数)(可选)头像的尺寸,最大为 512,单位为像素(px)。

默认值:96

$default

(字符串)(可选)如果没有头像返回的图片,默认为 “神秘人”,可以是图片 URL.

默认值:空字符串(神秘人)

$alt

(字符串)(可选)头像 img 标签的 alt 属性内容。

默认值:False
返回值

例如,我在本主题中使用的在head.php中加入的这段代码作用在于显示登录用户的昵称和他的头像。


if ( is_user_logged_in() )
{
echo '欢迎:<a href="http://lgdong.xyz/wp-admin/profile.php">'.$current_user->display_name .
'&nbsp;'.get_avatar( get_the_author_meta( 'ID' ), 17 )."</a>";

}

【获得登录,注册和注销的连接】

当然,我们能够修改登录注册界面,但是本人喜欢这种风格,修改了登陆界面,很酷炫。再加上在首页,即是用户登陆,也只有顶部一条自带的工具条(以后会讨论如何去除这条工具条)。话不多说,直接上代码吧:代码位置在header.php中


<!-- 注销后回到首页 登录状态与非登录状态2种 -->
<?php if ( is_user_logged_in() )
{
$url=wp_logout_url(home_url());//在这定义了当我们退出后回到首页的连接
echo '<div class="login-info">';
echo '<a href="'.$url.'" title="注销">注销</a>';
echo '</div>';
}else
{
echo '<div class="login-register">';
echo '<a href="http://lgdong.xyz/wp-login.php?action=register">注册</a>';//注册页面
echo '</div>';
echo '<div class="login-info">';
echo '<a href="http://lgdong.xyz/wp-login.php">登录</a>';//登陆页面
echo '</div>';
} ?>

以上代码,实现了在前台头部中添加了用户信息,头像,以及登录,注销和退出的功能。效果图就是我的这个博客网站的右上角。

发表评论

电子邮件地址不会被公开。 必填项已用*标注