这是我参与更文挑战的第14天,活动详情查看: 更文挑战
本篇翻译参考自Understanding and Working with User Data in WordPress
它是理解和使用WordPress中的数据系列的第四篇
理解和使用WordPress中的用户数据
WordPress中在wp_users
表中存储用户数据,它链接wp_posts
和wp_comments
表:
WordPress也在两个其他表中存储用户数据:
- 用户额外的元数据存储在
wp_usermeta
表中 - 评论中未登录用户的数据存储在
wp_comments
表中。
WordPress数据系列的当前部分,将会探索WordPress如何存储和如何访问用户数据,首先关注wp_users
表
wp_users表
wp_users表存储每个用户的核心信息。它包含下面的字段:
字段 | 存储内容 | 说明 |
---|---|---|
ID |
用户ID——the user ID | 自动生成 |
user_login |
用户名——username | 必需 |
user_pass |
密码——password | 注册时没提供则自动生成 |
user_nicename |
昵称——nickname | 如果没有手动输入则自动生成 |
user_email |
邮箱地址——email address | 必需 |
user_url |
站点——website | 非必需 |
user_registered |
用户首次注册日期和时间 | 自动生成 |
user_activation_key |
用户激活码 | 自动生成——在默认的用户注册中,发送用户注册激活通知的函数wp_new_user_notification ,会调用get_password_reset_key 生成激活码并保存 |
user_status |
状态存储为数字——例如,它告诉WordPress,用户是否通过邮件确认注册。不用于存储用户角色 | 自动生成 |
display_name |
公开显示的名称 | 没有手动输入时自动生成 |
如你所见,除了user_url
一个字段以外,所有字段要么在注册时是必填项,要么会自动生成。
用户元数据
除了wp_users
中的数据外,还有为所有用户创建但存储在wp_usermeta
表中的数据,例如角色和能力(roles and capabilities
)。该表还用于存储其他设置以增强用户体验,例如所选的管理后台配色方案以及管理栏和仪表板显示的设置。
当需要通过你的主题或插件创建用户的额外字段时,应该使用wp_usermeta
表——并且从不应该向主wp_users
表添加字段。
wp_usermeta
表中的每个记录有四个字段:
ID
——记录的IDuser_id
——链接到哪个wp_usersmeta_key
meta_value
使用add_user_meta()函数创建一个新的用户元数据记录:
add_user_meta( $user_id, $meta_key, $meta_value, $unique );
复制代码
此函数的第四个参数($unique
)是可选的,指定meta_key
字段中的值是否应该是唯一的。
或使用update_user_meta
函数。
添加用户元数据后,可以使用get_user_meta()
在每个用户的author页面上将其输出,或创建具有指定key值的所有用户的列表。
在后面的教程中,我将研究元数据和分类法,以更详细地介绍最后一个选项。
用户和其他内容之间的关系
用户可以链接到两个内容类型:posts和评论。
就posts而言,总会有一个用户作为作者。该关系在wp_posts
的post_author
字段和wp_users
的ID
字段之间。
评论不总是链接到wp_users
表:仅在评论者是一个登陆用户时被创建。这种情况下,链接是wp_users
的ID
和wp_comments
的user_ID
之间。
如果评论者不是登陆用户,则通过comment_author
、comment_author_email
、comment_author_url
和comment_author_IP
字段,将信息直接被记录在wp_comments
表中。
概要
用户是WordPress安装的基础。没有他们,将没有站点管理员,也没有创建内容的作者。
WordPress将有关用户的核心数据存储在wp_users
表中,并且将其他元数据存储在wp_usermeta
表。它还将用户数据链接到wp_posts
表中的posts和wp_comments
表中的comments。