1. 程式人生 > >深入理解 WordPress 數據庫中的用戶數據 wp_user

深入理解 WordPress 數據庫中的用戶數據 wp_user

數據 php 兩個 數據庫 post 數據包 內容 顯示 critical

WordPress 使用 wp_users 數據表存儲用戶的主要數據,該數據表結構類似於wp_postswp_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_urlcomment_author_IP 字段。

總結

用戶是一個 WordPress 站點的必需數據,沒有用戶,我們就沒辦法通過儀表盤管理站點,沒辦法發布文章。

WordPress 把用戶核心數據存儲在 wp_users 數據表中,附加數據存儲在 wp_usermeta 數據表中,並且在 wp_posts數據表中連接用戶數據到文章、在 wp_comments 數據表中連接用戶數據到評論。

轉:https://www.wpzhiku.com/understanding-working-user-data-wordpress/

深入理解 WordPress 數據庫中的用戶數據 wp_user