WordPress數(shù)據(jù)庫及各表結(jié)構(gòu)
WordPress使用MySQL數(shù)據(jù)庫。作為一個開發(fā)者,我們有必要掌握WordPress數(shù)據(jù)庫的基本構(gòu)造,并在自己的插件或主題中使用他們。
截至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:存儲每個目錄、標簽所對應的分類
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ù),最好的做法不是去在表后加上一列,去破壞默認的表結(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記錄了每個分類的名字以及基本信息,如本站分為“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)造了。
聲明:本站所有文章資源內(nèi)容,如無特殊說明或標注,均為采集網(wǎng)絡資源。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系本站刪除。
