区分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的函数如下:
对着代码看就好理解了,这就是用户链接http://news.12reads.cn/author/zgl的产生过程,其中user_nicename至关重要: 如果没有启用固定链接--->用户页面为/author=ID; 如果user_nicename不为空,则用户页面为/author/user-nicename.
3.user_displayname相当于昵称,用户可以自由修改。
通过wp_user表来看就更一目了然了:
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表来看就更一目了然了:
相关文章推荐
- MOSS中的User的Title, LoginName, DisplayName, SID之间的关系
- 认识登录控件(Login、CreateUserWizard、LoginStatus和LoginName)
- 无法连接 MKS: Login(username/password)incorrect
- Login to Symantec Endpoint Protection Manager using your Active Directory User name and password
- 无法连接 MKS: Login(username/password)incorrect
- sharepoint 中根据loginName获取displayName以及用户信息
- Unable to connect to the MKS: Login (username / password) incorrect
- vSphere Client: Unable to connect to the MKS: Login (username / password) incorrect
- login name Y user name
- 如何解决Login failed for user: "AccountName"这个错误
- USER username (Login failed): Invalid shell: '/bin/false'
- About FormsAuthentication.RedirectFromLoginPage(string username, bool createPersistentCookie)
- 百度display name为中文导致奔溃,productName和budlename区分出来
- 用powershell更新user的display name
- t_user is not mapped [from t_user as u where u.loginname = :loginname and u.password =:password]
- Unable to connect to the MKS: Login (username / password) incorrect
- 查SQL SERVER sp_helpuser, 某用户的loginName 为空
- [Ubuntu] Simple method to login SSH without insert user name and password via expect in linux
- 集成平台自动登入+C# Login控件,造成的HttpContext.Current.User.Identity.Name 为空问题解决方案
- SSH login expect shell script to supply username and password