深入理解 WordPress 數據庫中的用戶數據 wp_user
WordPress 使用 wp_users
數據表存儲用戶的主要數據,該數據表結構類似於wp_posts
和 wp_comments
數據表,存儲的是需要經常訪問的用戶數據,該數據表的結構以及該數據表與其他數據表的關系如下:
WordPress 用戶數據表關系(點擊查看大圖)
同時,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_usermeta 數據表包含的字段。
- ID – 自增 ID
- user_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
數據表中連接用戶數據到評論。
轉:https://www.wpzhiku.com/understanding-working-user-data-wordpress/
深入理解 WordPress 數據庫中的用戶數據 wp_user