WordPress數(shù)據(jù)結(jié)構(gòu)分析_第1頁
WordPress數(shù)據(jù)結(jié)構(gòu)分析_第2頁
WordPress數(shù)據(jù)結(jié)構(gòu)分析_第3頁
WordPress數(shù)據(jù)結(jié)構(gòu)分析_第4頁
WordPress數(shù)據(jù)結(jié)構(gòu)分析_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、WordPress數(shù)據(jù)結(jié)構(gòu)分析WordPress僅僅用了10 個表:wp_comments, wp_links, wp_options, wp_postmeta, wp_posts, wp_term_relationships, wp_term_taxonomy, wp_terms, wp_usermeta, wp_users按照功能大致分為五類用戶信息: wp_users和wp_usermeta鏈接信息: wp_links文章及評論信息: wp_posts、wp_postmeta、wp_comments對分類,鏈接分類,標簽管理: wp_term,wp_term_relationships,

2、wp_term_taxonomy全局設置信息: wp_optionswp_posts博客發(fā)表”文章”存放的地方就是這個wp_posts表了。這個表里存放的除了普通的文章之外,還有附件和頁面(page)的一些信息。post_type字段是用來區(qū)分文章類型的。如果post_type是post,那么就是文章,如果是page,那么就是頁面,如果是attachment,那么就是附件了.wp_postmeta這個表很簡單,只有 meta_id, post_id, meta_key, meta_value 這四個字段。post_id 是相關(guān) “文章” 的id。meta_value 是longtext類型的,

3、這里僅是用來存儲值。在撰寫文章的時候,在編輯框下面有一個 Custom Fields 的選項,我們可以在這里添加post的meta信息。wp_comments比較重要的兩個字段是 comment_post_ID 和 comment_approved,前一個用來指示這條評論隸屬于哪一篇文章,后一個用來記錄審核狀況。還有一個比較有意思的是這個 commnet_agent 字段,可以利用這個字段來統(tǒng)計一下用戶瀏覽器類型。wp_users用戶帳號表。存儲用戶名、密碼還有一些用戶的基本信息。wp_usermeta類似上面的 wp_postmeta,存儲一些其他的用戶信息。wp_options用來記錄Wo

4、rdpress的一些設置和選項。里面有一個blog_id字段,這個應該是用在MU版里面來標示不同的 Blog 的。autoload這個字段用來控制是否選項總是被WordPress或者插件導入并緩存來使用,或者是否只是在要求的情況下才被導入。wp_links用來存儲 Blogroll 里面的鏈接。wp_terms它保存(term)的基本信息。name 就是 term 的名字,slug 是用于使得 URL 友好化。term_group 是用于把相似的 terms 集合在一起。term_id 是term的唯一ID。wp_term_taxonomy分類信息,是對wp_terms中的信息的關(guān)系信息補充,

5、有所屬類型(category,link_category,tag),詳細描述所擁有文章(鏈接)數(shù)量。wp_term_relationships把posts和links這些對象和term_taxonomy表中的term_taxonomy_id聯(lián)系起來的關(guān)系表,object_id是與不同的對象關(guān)聯(lián),例如wp_posts中的ID(wp_links中的link_id)等,term_taxonomy_id就是關(guān)聯(lián)wp_term_taxonomy中的term_taxonomy_id。 WordPress使用MySQL數(shù)據(jù)庫。作為一個開發(fā)者,我們有必要掌握WordPress數(shù)據(jù)庫的基本構(gòu)造,并在自己的插件或

6、主題中使用他們。截至WordPress3.0,WordPress一共有以下11個表。這里加上了默認的表前綴 wp_ 。wp_commentmeta:存儲評論的元數(shù)據(jù)wp_comments:存儲評論wp_links:存儲友情鏈接(Blogroll)wp_options:存儲WordPress系統(tǒng)選項和插件、主題配置wp_postmeta:存儲文章(包括頁面、上傳文件、修訂)的元數(shù)據(jù)wp_posts:存儲文章(包括頁面、上傳文件、修訂)wp_terms:存儲每個目錄、標簽wp_term_relationships:存儲每個文章、鏈接和對應分類的關(guān)系wp_term_taxonomy:存儲每個目錄、標

7、簽所對應的分類wp_usermeta:存儲用戶的元數(shù)據(jù)wp_users:存儲用戶在WordPress的數(shù)據(jù)庫結(jié)構(gòu)中,存儲系統(tǒng)選項和插件配置的wp_options表是比較獨立的結(jié)構(gòu),在后文中會提到,它采用了key-value模式存儲,這樣做的好處是易于拓展,各個插件都可以輕松地在這里存儲自己的配置。post,comment,user 則是三個基本表加上拓展表的組合。以wp_users為例,wp_users已經(jīng)存儲了每個用戶會用到的基本信息,比如 login_name、display_name、 password、email等常用信息,但如果我們還要存儲一些不常用的數(shù)據(jù),最好的做法不是去在表后加上

8、一列,去破壞默認的表結(jié)構(gòu),而是將數(shù)據(jù)存在wp_usermeta中。wp_usermeta這個拓展表和wp_options表有類似的結(jié)構(gòu),我們可以在這里存儲每個用戶的QQ號碼、手機號碼、登錄WordPress后臺的主題選項等等。比較難以理解的是term,即wp_terms、wp_term_relationships、wp_term_taxonomy。在WordPress的系統(tǒng)里,我們常見的分類有文章的分類、鏈接的分類,實際上還有TAG,它也是一種特殊的分類方式,我們甚至還可以創(chuàng)建自己的分類方法。WordPress將所有的分類及分類方法、對應結(jié)構(gòu)都記錄在這三個表中。wp_terms記錄了每個分類的

9、名字以及基本信息,如本站分為“WordPress開發(fā)”、“WPCEO插件”等,這里的分類指廣義上的分類,所以每個TAG也是一個“分類”。wp_term_taxonomy記錄了每個分類所歸屬的分類方法,如“WordPress開發(fā)”、“WPCEO插件”是文章分類(category),放置友情鏈接的“我的朋友”、“我的同事”分類屬于友情鏈接分類(link_category)。wp_term_relationships記錄了每個文章(或鏈接)所對應的分類方法。慶幸的是,關(guān)于term的使用,WordPress中相關(guān)函數(shù)的使用方法還是比較清晰明了,我們就沒必要糾結(jié)于它的構(gòu)造了。 在上文中我們已經(jīng)介紹了Wo

10、rdPress數(shù)據(jù)庫中各個表的作用,本文將繼續(xù)介紹每個表中每個列的作用。WordPress官方文檔已經(jīng)有比較詳細的表格,本文僅對常用數(shù)據(jù)進行介紹。wp_commentmetameta_id:自增唯一IDcomment_id:對應評論IDmeta_key:鍵名meta_value:鍵值 wp_commentscomment_ID:自增唯一IDcomment_post_ID:對應文章IDcomment_author:評論者comment_author_email:評論者郵箱comment_author_url:評論者網(wǎng)址comment_author_IP:評論者IPcomment_date:評論時

11、間comment_date_gmt:評論時間(GMT+0時間)comment_content:評論正文comment_karma:未知comment_approved:評論是否被批準comment_agent:評論者的USER AGENTcomment_type:評論類型(pingback/普通)comment_parent:父評論IDuser_id:評論者用戶ID(不一定存在)wp_linkslink_id:自增唯一IDlink_url:鏈接URLlink_name:鏈接標題link_image:鏈接圖片link_target:鏈接打開方式link_description:鏈接描述link_

12、visible:是否可見(Y/N)link_owner:添加者用戶IDlink_rating:評分等級link_updated:未知link_rel:XFN關(guān)系link_notes:XFN注釋link_rss:鏈接RSS地址 wp_optionsoption_id:自增唯一IDblog_id:博客ID,用于多用戶博客,默認0option_name:鍵名option_value:鍵值autoload:在WordPress載入時自動載入(yes/no)wp_postmetameta_id:自增唯一IDpost_id:對應文章IDmeta_key:鍵名meta_value:鍵值wp_postsID:

13、自增唯一IDpost_author:對應作者IDpost_date:發(fā)布時間post_date_gmt:發(fā)布時間(GMT+0時間)post_content:正文post_title:標題post_excerpt:摘錄post_status:文章狀態(tài)(publish/auto-draft/inherit等)comment_status:評論狀態(tài)(open/closed)ping_status:PING狀態(tài)(open/closed)post_password:文章密碼post_name:文章縮略名to_ping:未知pinged:已經(jīng)PING過的鏈接post_modified:修改時間post_m

14、odified_gmt:修改時間(GMT+0時間)post_content_filtered:未知post_parent:父文章,主要用于PAGEguid:未知menu_order:排序IDpost_type:文章類型(post/page等)post_mime_type:MIME類型comment_count:評論總數(shù) wp_termsterm_id:分類IDname:分類名slug:縮略名term_group:未知wp_term_relationshipsobject_id:對應文章ID/鏈接IDterm_taxonomy_id:對應分類方法IDterm_order:排序wp_term_ta

15、xonomyterm_taxonomy_id:分類方法IDterm_id:taxonomy:分類方法(category/post_tag)description:未知parent:所屬父分類方法IDcount:文章數(shù)統(tǒng)計 wp_usermetaumeta_id:自增唯一IDuser_id:對應用戶IDmeta_key:鍵名meta_value:鍵值 wp_usersID:自增唯一IDuser_login:登錄名user_pass:密碼user_nicename:昵稱user_email:Emailuser_url:網(wǎng)址user_registered:注冊時間user_activation_ke

16、y:激活碼user_status:用戶狀態(tài)display_name:顯示名稱 WordPress數(shù)據(jù)庫中的表、字段、類型及說明 wordpress中各個表的字段,折騰WordPress必備良品wp_categories: 用于保存分類相關(guān)信息的表。包括了5個字段,分別是:cat_ID 每個分類唯一的ID號,為一個bigint(20)值,且?guī)в懈郊訉傩詀uto_increment。 cat_name 某個分類的名稱,為一個varchar(55)值。 category_nicename 指定給分類的一個便于記住的名字,也就是所謂的slug,這是一個varchar(200)值。 category_d

17、escription 某個分類的詳細說明,longtext型值。 category_parent 分類的上級分類,為一個int(4)值,對應是的當前表中的cat_ID,即wp_categories.cat_ID。無上級分類時,這個值為0。 wp_comments: 用于保存評論信息的表。包括了15個字段,分別為:comment_ID 每個評論的唯一ID號,是一個bigint(20)值。帶有附加屬性auto_increment。 comment_post_ID 每個評論對應的文章的ID號,int(11)值,等同于wp_posts.ID。 comment_author 每個評論的評論者名稱,tin

18、ytext值。 comment_author_email 每個評論的評論者電郵地址,varchar(100)值。 comment_author_url 每個評論的評論者網(wǎng)址,varchar(200)值。 comment_author_IP 每個評論的評論者的IP地址,varchar(100)值。 comment_date 每個評論發(fā)表的時間,datetime值(是加上時區(qū)偏移量后的值)。 comment_date_gmt 每個評論發(fā)表的時間,datetime值(是標準的格林尼治時間)。 comment_content 每個評論的具體內(nèi)容,text值。 comment_karma 不詳,int(

19、11)值,默認為0。 comment_approved 每個評論的當前狀態(tài),為一個枚舉值enum(0,1,spam),0為等待審核,1為允許發(fā)布,spam為垃圾評論。默認值為1。 comment_agent 每個評論的評論者的客戶端信息,varchar(255)值,主要包括其瀏覽器和操作系統(tǒng)的類型、版本等資料。 comment_type 不詳,varchar(20)值。 comment_parent 某一評論的上級評論,int(11)值,對應wp_comment.ID,默認為0,即無上級評論。 user_id 某一評論對應的用戶ID,只有當用戶注冊后才會生成,int(11)值,對應wp_use

20、rs.ID。未注冊的用戶,即外部評論者,這個ID的值為0。 wp_linkcategories: 用于保存在WP后臺中添加的鏈接的相關(guān)信息的表。包括13個字段:cat_id 每個鏈接分類的唯一ID,bigint(20)值,為一個自增量auto_increment。 cat_name 每個鏈接分類的名字,tinytext值。 auto_toggle -這個字段所包含的是一個比較特別的屬性。如果為Y,則當該分類中加入了新鏈接時,其它的鏈接會變?yōu)椴豢梢?。它是一個枚舉型的值enum(Y,N),默認為N。 show_images 該字段也是枚舉值enum(Y,N),默認為Y。用戶指定是否允許在該鏈接分類

21、顯示圖片鏈接。 show_description 該字段指定相應的鏈接分類下的鏈接,是否再專門換行顯示它們的說明,這是一個枚舉型值enum(Y,N),默認為N,即不顯示說明(但會通過title屬性中顯示說明)。 show_rating 顯示該分類下鏈接的等級。它也是一個枚舉值enum(Y,N),默認為Y。此時,你可以用鏈接等級的方式來對該鏈接分類下的鏈接進行排序。 show_updated 指定該鏈接分類有更新是,是否進行顯示,枚舉值enum(Y,N),默認為Y。 sort_order 指定該鏈接分類中鏈接的排序依據(jù),varchar(64)值。一般用鏈接的名字(name,即wp_links.l

22、ink_name)或ID(id,即wp_links.link_id)。 sort_desc 指定鏈接分類的排序方式,枚舉值enum(Y,N),默認為N,即用降序。 text_before_link 該鏈接分類下每個鏈接的前置html文本,varchar(128)值,默認是列表開始標簽。 text_after_link 該鏈接分類下每個鏈接的中,鏈接與說明文字(wp_links.link_description)之間的html文本,varchar(128)值,默認是換行標簽。 text_after_all 該鏈接分類下每個鏈接的后置html文本,varchar(128)值,默認是列表結(jié)束標簽。

23、list_limit 用于規(guī)定某一鏈接分類中顯示的(可設定的?)鏈接的個數(shù),int(11)值,默認為-1,即對鏈接分類下鏈接的個數(shù)無限制。 wp_links :用于保存用戶輸入到Wordpress中的鏈接(通過Link Manager)的表。共14個字段:link_id 每個鏈接的唯一ID號,bigint(20)值,附加屬性為auto_increment。 link_url 每個鏈接的URL地址,varchar(255)值,形式為http:/開頭的地址。 link_name 單個鏈接的名字,varchar(255)值。 link_image 鏈接可以被定義為使用圖片鏈接,這個字段用于保存該圖片

24、的地址,為varchar(255)值。 link_target 鏈接打開的方式,有三種,_blank為以新窗口打開,_top為就在本窗口中打開并在最上一級,none為不選擇,會在本窗口中打開。這個字段是varchar(25)值。 link_category 某個鏈接對應的鏈接分類,為int(11)值。相當于wp_linkcategories.cat_id。 link_description 鏈接的說明文字。用戶可以選擇顯示在鏈接下方還是顯示在title屬性中。varchar(255)值。 link_visible 該鏈接是否可以,枚舉enum(Y,N)值,默認為Y,即可見。 link_owne

25、r 某個鏈接的創(chuàng)建人,為一int(11)值,默認是1。(應該對應的就是wp_users.ID) link_rating 鏈接的等級,int(11)值。默認為0。 link_updated 鏈接被定義、修改的時間,datetime值。 link_rel 鏈接與定義者的關(guān)系,由XFN Creator設置,varchar(255)值。 link_notes 鏈接的詳細說明,mediumtext值。 link_rss 該鏈接的RSS地址,varchar(255)值。 wp_options: 用于保存Wordpress相關(guān)設置、參數(shù)的表,共11個字段。最重要是的option_value字段,里面包括了大

26、量的重要信息。option_id 選項的ID,bigint(20)值,附加auto_increment屬性。 blog_id 不詳?;蛟S用在單在用戶的WP版本上并不重要吧,或許是針對不同用戶的Blog來設置的一個值。int(11)值,默認為0,即當前blog。 option_name 選項名稱,varchar(64)值。 option_can_override 該選項是否可被重寫、更新,枚舉enum(Y,N)值,默認為Y,即可被重寫、更新。 option_type 選項的類型,作用不詳,int(11)值,默認為1。 option_value 選項的值,longtext值,這個字段的內(nèi)容比較重要

27、。Wordpress初始化時就會設定好約70個默認的值,這里暫不介紹。 option_width 選項的寬(?),作用不詳。int(11)值,默認為20。 option_height 選項的高(?),作用不詳。int(11)值,默認為8。 option_description 針對某個選項的說明,tinytext值。 option_admin_level 設定某個選項可被操縱的用戶等級(詳情見我的相關(guān)文章),int(11)值,默認為1。 autoload 選項是否每次都被自動加載,枚舉enum(yes,no)值,默認為yes。 wp_post2cat: 用于保存文章(posts)與分類(cat

28、egories)之間的關(guān)系的表,只有三個字段:rel_id 關(guān)聯(lián)ID,bigint(20)值,是個有auto_increment屬性的自增量。 post_id 文章的ID,bigint(20)值,相當于wp_posts.ID。 category_id 分類的ID,也是bigint(20)值,相當于wp_categories.ID。 文章與分類的關(guān)系的形成是這樣的:rel_id是一個不斷增加的自增量,它用于識別每不同的post。post_id可以重復(當它對應多個分類時),因為它可被rel_id識別,所以不會出現(xiàn)混亂。每個post_id可對應多個category_id時,一個rel_id + p

29、ost_id組合,可以識別某一個分類,因此每個文章的分類可以是不同的。通過這張表,可以非常快速、高效地找出某篇文章(post)對應了哪些分類 (category),反之亦然。wp_postmeta: 用于保存文章的元信息(meta)的表,四個字段:meta_id 元信息ID,bigint(20)值,附加屬性為auto_increment。 post_id 文章ID,bigint(20)值,相當于wp_posts.ID。 meta_key 元信息的關(guān)鍵字,varchar(255)值。 meta_value 元信息的值,text值。 這些內(nèi)容主要是在文章及頁面編輯頁(Write Post, Wri

30、te Page)的”Add a new custom field to this post(page):”下進行設定的。meta_key就對應名為”key”的下拉列表中的項,而值由用戶自己填上(某些時候,wp也會自動加入,如文章中有的音頻媒體)。wp_posts: 用于保存你所有的文章(posts)的相關(guān)信息的表,非常的重要。一般來講,它存儲的數(shù)據(jù)是最多的。一共包括了21個字段。ID 每篇文章的唯一ID,bigint(20)值,附加屬性auto_increment。post_author 每篇文章的作者的編號,int(4)值,應該對應的是wp_users.ID。 post_date 每篇文章發(fā)

31、表的時間,datetime值。它是GMT時間加上時區(qū)偏移量的結(jié)果。 post_date_gmt 每篇文章發(fā)表時的GMT(格林威治)時間,datetime值。 post_content 每篇文章的具體內(nèi)容,longtext值。你在后臺文章編輯頁面中寫入的所有內(nèi)容都放在這里。 post_title 文章的標題,text值。 post_category 文章所屬分類,int(4)值。 post_excerpt 文章摘要,text值。 post_status 文章當前的狀態(tài),枚舉enum(publish,draft,private,static,object)值,publish為已發(fā)表,draft為草

32、稿,private為私人內(nèi)容(不會被公開) ,static(不詳),object(不詳)。默認為publish。 comment_status 評論設置的狀態(tài),也是枚舉enum(open,closed,registered_only)值,open為允許評論,closed為不允許評論,registered_only為只有注冊用戶方可評論。默認為open,即人人都可以評論。 ping_status ping狀態(tài),枚舉enum(open,closed)值,open指打開pingback功能,closed為關(guān)閉。默認值是open。 post_password 文章密碼,varchar(20)值。文章編輯才可為文章設定一個密碼,憑這個密碼才能對文章進行重新強加或修改。 post_name 文章名,varchar(200)值。這通常是用在生成permalink時,標識某篇文章的一段文本或數(shù)字,也即post slug。 to_ping 強制該文章去ping某個URI。text值。 pinged 該文章被pingback的歷史記錄,text值,為一個個的URI。 post_modified 文章最后修改的時間,datetime值,它是GMT時間加上時區(qū)偏移量的結(jié)果。 post_modified_gmt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論