在网页中,通常需要在用户未登录的时候显示登录和注册按钮,在登录后显示用户的头像、名字等信息,能够获得更好的用户体验,在php实现这样的要求其实很简单。
php中处理方式比较灵活,只需要检测本地账户的登录信息之后,用if判断后生成对应的状态,这里比较要重视的是读取数据中的用户的名称、头像等,这里只显示的名称。
方式一:
<?php
if( is_user_logged_in() ){
global $current_user;
get_currentuserinfo();
?>
<li class="user-welcome" >
<a title="点此进入后台" href="<?php echo esc_url('/wp-admin/') ?>">
<strong><?php echo $current_user->display_name ?></strong></a>
</li>
<li class="user-logout">
<a href="<?php echo wp_logout_url() ?>"><?php echo __('退出', 'haoui') ?></a>
</li>
<?php }else{ ?>
<li class="user-signin">
<a target="_blank" href="<?php echo site_url('/wp-login.php'); ?>"><?php echo __('登陆', 'haoui') ?></a></li>
<li class="user-signin">
<a target="_blank" href="<?php echo site_url('/wp-login.php?action=register'); ?>"><?php echo __('注册', 'haoui') ?></a>
</li>
<?php } ?>
有时候网页文字在发送后会出现乱码的状况,不能显示用户的名字等信息,解决的办法是将文字编码成不同的格式 ,使用这段代码,浏览器就会用不同的编码格式识别出中文的汉字,正确显示
echo iconv("GB2312","UTF-8",'退出');
方式2:
<?php
if( is_user_logged_in() ){
global $current_user;
get_currentuserinfo();
echo apply_filters( 'user',
'<li class="menu-item" >
<img src="http://www.example.com/Person.png" alt="menu-icon">
<a href="http://www.example.com/wordpress/wp-admin/" class="title">
<strong>');
echo $current_user->display_name;
echo apply_filters( 'user',
'</strong></a>
</li>
<li class="menu-item">
<img src="http://www.example.com/Person-black.png" alt="menu-icon">
<a href="http://www.example.com/wordpress/wp-login.php?loggedout=true" class="title">' );
echo iconv("GB2312","UTF-8",'退出');
echo apply_filters( 'user',
'</a></li>' );
}else{
echo apply_filters( 'user',
'<li class="menu-item">
<img src="http://www.example.com/List.png" alt="menu-icon">
<a href="http://www.example.com/wordpress/wp-login.php" class="title">' );
echo iconv("GB2312","UTF-8",'登陆');
echo apply_filters( 'user',
'</a></li>
<li class="menu-item">
<img src="http://www.example.com/Person-white.png" alt="menu-icon">
<a target="_blank" href="http://www.example.com/wordpress/wp-login.php?action=register" class="title">' );
echo iconv("GB2312","UTF-8",'注册');
echo apply_filters( 'user',
'</a>
</li>' );
}
?>