深入理解 WordPress 数据库中的用户数据 wp_user
WordPress用户数据表及与其他数据表的关系
我要介绍的是WordPress用户数据表的结构以及与其他数据表的关系。WordPress使用wp_users
数据表存储用户的主要数据,该数据表结构类似于wp_posts
和wp_comments
数据表,存储着需要经常访问的主要用户数据。

该数据表的结构以及其与其他数据表的关系如上图所示。同时,WordPress把附加用户数据保存在了其他数据表中,包含附加用户数据的有以下两个数据表:
wp_usermeta
数据表:用户的附加属性数据保存在该表中。wp_comments
数据表:如果有匿名用户发表了评论,这些匿名用户的数据保存在该表中。
接下来我们来看一下怎么访问这些数据。
wp_users
数据表
wp_users数据表中存储着关于每个用户的核心数据,该数据表的字段如下:
字段 | 存储内容 | 注意事项 |
---|---|---|
ID |
用户ID | 自增 |
user_login |
用户名 | 必需 |
user_pass |
密码 | 如果没有填写,则自动生成 |
user_nicename |
昵称 | 如果没有填写,则自动生成 |
user_email |
邮件地址 | 必需 |
user_url |
网址 | 非必须 |
user_registered |
用户注册的日期和时间 | 自动生成 |
user_activation_key |
用户激活密钥 | 自动生成 |
user_status |
以数字保存的用户状态,表示用户是否已经通过邮件确认注册。 | 自动生成 |
display_name |
公开显示为名称 | 如果没有填写,则自动生成 |
如上表所示,除了一个字段(user_url
),其他字段要么是必须填写的,要么就是自动生成的。
用户元数据表
和wp_users
中的数据一样,一些不是经常访问的数据存储在wp_usermeta数据表中,如用户色角色和权限。该数据表同时也用来存储一些附加设置用来提高用户体验,其中包括管理界面配色方案,是否显示管理工具条等设置。
当我们需要通过主题或插件为用户添加附加数据时,我们应该使用这个数据表,而不是在wp_users
数据表中添加字段,因为该数据表的结构可能会随着WordPress升级而变化,而wp_user_meta的数据结构一般是不会有变化的。
wp_usermeta数据表包含的字段:
- ID–自增ID
- user_id–用户ID,连接到wp_users
- meta_key–字段的键
- meta_value–字段的值
如果需要创建user_meta数据,我们可以使用add_user_meta()
函数:
add_user_meta($user_id,$meta_key,$meta_value,$unique);
其中,第四个参数($unique)为可选项,指示这个用户字段是否是唯一。
添加了user_meta数据后,我们可以通过get_user_meta()
函数获取这个数据。
关于用户字段的创建和访问,涉及到元数据的操作,我将会另外写一篇文章来详细介绍,在这里就不多说了。
用户和其他内容之间的关系
用户可以和两种类型的数据关联起来:文章和评论。在文章中,一篇文章总是有一个作者,这种关系的体现是通过wp_posts
数据表中post_author
字段来实现的,该字段的值就是该文章作者的用户ID。
评论并不总是连接到wp_users
数据表:只有当已登录用户发表评论时,这种关系才能建立,这种关系是通过wp_commerts
数据表中,user_id
字段来实现的。
如果评论者没有登录,评论者信息将被存储在wp_comments数据表中,这些数据包括:comment_author
,comment_author_email
,comment_author_url
和comment_author_IP
字段。
总结
用户是一个WordPress站点的必需数据,没有用户,我们就没办法安全的通过仪表盘管理站点,没办法发布文章。WordPress把用户核心数据存储在wp_users
数据表中,附加数据存储在wp_usermeta
数据表中,并且在wp_posts
数据表中连接用户数据到文章、在wp_comments
数据表中连接用户数据到评论。

-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
创建Vue组件详细教程 2023-09-10 00:23:17
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45
-
WordPress 6.3版本(2023年8月)性能提升了哪些? 2023-08-28 16:56:02
-
Astra 主题团队推出人工智能驱动的 WordPress 网站创建平台 – ZIPWP 2023-08-28 16:49:54
-
WordPress 宣布将为用户提供 100 年域名托管服务 2023-08-28 16:45:27
-
PHP判断if else 和 switch case的区别盘点 2023-07-29 15:11:11
-
详解WordPress独立站SEM中的OCPC方法(含百度推广OCPC与谷歌OCPC) 2023-07-19 08:01:30
-
WordPress的古腾堡全站编辑器site-editor.php介绍(附:site-editor.php启用代码) 2023-07-16 08:01:57
-
WordPress的Customize Partial功能最全介绍(含:demo代码) 2023-07-16 00:21:56