您的位置:首页 > 其它

区分WORDPRESS user_login、user_nicename、user_displayname

2016-12-27 13:31 567 查看
开发过程中用到用户项,那么这几个概念就很重要了,一定要搞清,否则就会出问题。

1.user_login就是用户注册时输入的用户名(WORDPRESS默认不允许中文注册,需要修改formatting.php)。

2.user_nicename是经过url特殊字条过滤后的user_login,其实在用户的注册用户名不包含特殊字符时(比如@什么的)user_nicename和user_login一样。无论是user_nicename还是user_login,用户都没有修改的权限,管理员也没有(操作数据库除外)。user_login用于用户登录,而user_nicename的惟一用途是产生用户url页面,即http://news.12reads.cn/author/zgl,‘zgl’就是user_login。Wordpress
产生用户url的函数如下:

function get_author_posts_url( $author_id, $author_nicename = '' ) {
global $wp_rewrite;
$auth_ID = (int) $author_id;
$link = $wp_rewrite->get_author_permastruct();

if ( empty($link) ) {
$file = home_url( '/' );
$link = $file . '?author=' . $auth_ID;
} else {
if ( '' == $author_nicename ) {
$user = get_userdata($author_id);
if ( !empty($user->user_nicename) )
$author_nicename = $user->user_nicename;
}
$link = str_replace('%author%', $author_nicename, $link);
$link = home_url( user_trailingslashit( $link ) );
}


对着代码看就好理解了,这就是用户链接http://news.12reads.cn/author/zgl的产生过程,其中user_nicename至关重要: 如果没有启用固定链接--->用户页面为/author=ID; 如果user_nicename不为空,则用户页面为/author/user-nicename.

3.user_displayname相当于昵称,用户可以自由修改。

通过wp_user表来看就更一目了然了:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: