WordPress數據表結構

如果是一個普通的用戶,不需要了解wordpress數據庫的結構。但是,如果你正在寫一個插件,你應該會對wordpress如何處理它的數據和關係感興趣。如果你已經嘗試使用已經存在的wordpress api 去訪問你需要的數據,但不直接訪問數據庫的情況下,這是不可能的,WordPress的提供WPDB的類,使這項任務變得簡單。

WordPress數據庫的11個數據表

  • wp_commentmeta 文章評論額外信息表
  • wp_comments 文章評論信息表
  • wp_links 鏈接信息表
  • wp_options 基本配置信息表,通常通過get_option來操作,該表通常作爲插件存儲數據的一個地方。
  • wp_postmeta 文章額外數據表,例如文章瀏覽次數,文章的自定義字段等都存儲在這裏
  • wp_posts 文章信息表,包括了日誌、附件、頁面等等信息。是WordPress最重要的一個數據表。
  • wp_terms 文章分類、鏈接分類、標籤的信息表。
  • wp_term_relationships 分類與文章信息表(wp_posts)、鏈接表(wp_links)的關聯表。
  • wp_term_taxonomy 分類信息表,區分wp_terms信息的分類類型,有category、link_category和tag三種分類類型。
  • wp_usermeta 用戶額外信息表
  • wp_users 用戶基本信息表。存放系統所有用戶基本信息。

WordPress數據庫表之間的關係

要搞明白這個問題以及對WordPress數據表之間的關係有更加深刻的理解,讓我們先來想想WordPress博客系統的功能,默認安裝的WordPress版本博客系統涉及的數據信息主要包括了用戶信息、分類信息、鏈接信息、文章信息、文章評論信息、基本配置信息這6類信息。

用戶信息:系統中所有註冊用戶的帳號信息。
分類信息:包括了文章分類、鏈接分類、標籤這3中分類信息。
鏈接信息:就是博客系統中的友情鏈接信息。
文章信息:博客系統中的日誌、日誌產生的附件、頁面等信息。
文章評論信息:對具體日誌或者附件的評論信息。
基本配置信息:系統中的基本配置信息,例如博客名稱,博客地址等等。
WordPress數據庫的11個數據表就是爲了存儲以上6類數據信息而設計,這些表之間的總體關係結構如下圖所示:

信息類型 涉及數據表以及關係
用戶信息 數據表:wp_users、wp_usermeta,關聯關係:wp_users.ID->wp_usermeta.user_id
鏈接信息 數據表:wp_links、wp_term_relationships、wp_terms、wp_term_taxonomy、 wp_users、wp_usermeta;
關聯關係:
一、確定鏈接所屬分類 (1)wp_links.link_id->wp_term_relationships.object_id, (2)wp_term_relationships.term_taxonomy_id->wp_term_taxonomy.term_taxonomy_id(該關係還要取決與wp_term_taxonomy表中的taxonomy分類類型爲“link_category”);(3)wp_terms.term_id->wp_term_taxonom.term_id。
二、確定鏈接所有者 (4)wp_links.link_owner->wp_users.ID;(5)wp_users.ID->wp_usermeta.user_id
分類信息 數據表:wp_terms、wp_term_taxonomy關聯關係:wp_terms.term_id->wp_term_taxonomy.term_id
文章信息 數據表:wp_posts、wp_postmeta、wp_comments、wp_term_relationships、wp_terms、 wp_term_taxonomy、wp_users、wp_usermeta關聯關係:一、確定文章信息 (1)wp_posts.ID->wp_postsmeta.post_id
二、確定文章評論 (2)wp_posts.ID->wp_comments.comment_post_id
三、確定文章評論的作者 (3)wp_comments.comment_author->wp_users.ID
(4)wp_users.ID->wp_usermeta.user_id
四、確定文章所屬分類
(5)wp_posts.ID->wp_term_relationships.object_id,
(6)wp_term_relationships.term_taxonomy_id->wp_term_taxonomy.term_taxonomy_id(該關係還要取決與wp_term_taxonomy表中的taxonomy分類類型爲“category”或者“tag”)
(7)wp_terms->term_id->wp_term_taxonomy
五、確定文章作者
(8)wp_posts.author->wp_users.ID;
(9)wp_users.ID->wp_usermeta.user_id
評論信息 數據表:wp_comments、wp_posts、wp_users、wp_usermeta
關聯關係:
一、確定評論的文章 (1)wp_comments.comment_post_id->wp_posts.ID
二、確定評論的作者 (2)wp_comments.comment_author->wp_users.ID(3)wp_users.ID->wp_usermeta.user_id
配置信息 數據表:wp_options沒有關聯關係

WordPress數據表字段詳解

wp_commentmeta
meta_id:自增唯一ID
comment_id:對應評論ID
meta_key:鍵名
meta_value:鍵值

wp_comments
comment_ID:自增唯一ID
comment_post_ID:對應文章ID
comment_author:評論者
comment_author_email:評論者郵箱
comment_author_url:評論者網址
comment_author_IP:評論者IP
comment_date:評論時間
comment_date_gmt:評論時間(GMT+0時間)
comment_content:評論正文
comment_karma:未知
comment_approved:評論是否被批准
comment_agent:評論者的USER AGENT
comment_type:評論類型(pingback/普通)
comment_parent:父評論ID
user_id:評論者用戶ID(不一定存在)

wp_links
link_id:自增唯一ID
link_url:鏈接URL
link_name:鏈接標題
link_image:鏈接圖片
link_target:鏈接打開方式
link_description:鏈接描述
link_visible:是否可見(Y/N)
link_owner:添加者用戶ID
link_rating:評分等級
link_updated:未知
link_rel:XFN關係
link_notes:XFN註釋
link_rss:鏈接RSS地址

wp_options
option_id:自增唯一ID
blog_id:博客ID,用於多用戶博客,默認0
option_name:鍵名
option_value:鍵值
autoload:在WordPress載入時自動載入(yes/no)

wp_postmeta
meta_id:自增唯一ID
post_id:對應文章ID
meta_key:鍵名
meta_value:鍵值

wp_posts
ID:自增唯一ID
post_author:對應作者ID
post_date:發佈時間
post_date_gmt:發佈時間(GMT+0時間)
post_content:正文
post_title:標題
post_excerpt:摘錄
post_status:文章狀態(publish/auto-draft/inherit等)
comment_status:評論狀態(open/closed)
ping_status:PING狀態(open/closed)
post_password:文章密碼
post_name:文章縮略名
to_ping:未知
pinged:已經PING過的鏈接
post_modified:修改時間
post_modified_gmt:修改時間(GMT+0時間)
post_content_filtered:未知
post_parent:父文章,主要用於PAGE
guid:未知
menu_order:排序ID
post_type:文章類型(post/page等)
post_mime_type:MIME類型
comment_count:評論總數

wp_terms
term_id:分類ID
name:分類名
slug:縮略名
term_group:未知

wp_term_relationships
object_id:對應文章ID/鏈接ID
term_taxonomy_id:對應分類方法ID
term_order:排序

wp_term_taxonomy
term_taxonomy_id:分類方法ID
term_id:taxonomy:分類方法(category/post_tag)
description:未知
parent:所屬父分類方法ID
count:文章數統計

wp_usermeta
umeta_id:自增唯一ID
user_id:對應用戶ID
meta_key:鍵名
meta_value:鍵值

wp_users
ID:自增唯一ID
user_login:登錄名
user_pass:密碼
user_nicename:暱稱
user_email:Email
user_url:網址
user_registered:註冊時間
user_activation_key:激活碼
user_status:用戶狀態
display_name:顯示名稱

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章