作為一個開發者,我們有必要掌握WordPress數據庫的基本構造,並在自己的外掛程式或主題中使用他們。
WordPress使用MySQL數據庫,通常情況下,WordPress有11個表,預設的表首碼是wp_ 。
wp_commentmeta:存儲評論的中繼資料
wp_comments:存儲評論
wp_links:存儲友情連結(Blogroll)
wp_options:存儲WordPress系統選項和外掛程式、主題配置
wp_postmeta:存儲文章(包括頁面、上傳檔、修訂)的中繼資料
wp_posts:存儲文章(包括頁面、上傳檔、修訂)
wp_terms:存儲每個目錄、標籤
wp_term_relationships:存儲每個文章、連結和對應分類的關係
wp_term_taxonomy:存儲每個目錄、標籤所對應的分類
wp_usermeta:存儲使用者的中繼資料
wp_users:存儲使用者
在WordPress的數據庫結構中,存儲系統選項和外掛程式配置的wp_options表是比較獨立的結構,在後文中會提到,它採用了key-value模式存儲,這樣做的好處是易於拓展,各個外掛程式都可以輕鬆地在這裡存儲自己的配置。
post,comment,user 則是三個基本表加上拓展表的組合。以wp_users為例,wp_users已經存儲了每個使用者會用到的基本資訊,比如 login_name、display_name、 password、email等常用資訊,但如果我們還要存儲一些不常用的資料,最好的做法不是去在表後加上一列,去破壞預設的表結構,而是將資料存在wp_usermeta中。wp_usermeta這個拓展表和wp_options表有類似的結構,我們可以在這裡存儲每個使用者的QQ號碼、手機號碼、登錄WordPress後臺的主題選項等等。
比較難以理解的是term,即wp_terms、wp_term_relationships、wp_term_taxonomy。在WordPress的系統裡,我們常見的分類有文章的分類、連結的分類,實際上還有TAG,它也是一種特殊的分類方式,我們甚至還可以創建自己的分類方法。WordPress將所有的分類及分類方法、對應結構都記錄在這三個表中。wp_terms記錄了每個分類的名字以及基本資訊,如本站分為「WordPress開發」、「WPCEO外掛程式」等,這裡的分類指廣義上的分類,所以每個TAG也是一個「分類」。
wp_term_taxonomy記錄了每個分類所歸屬的分類方法,如「WordPress開發」、「WPCEO外掛程式」是文章分類(category),放置友情連結的「我的朋友」、「我的家人」分類屬於友情連結分類(link_category)。wp_term_relationships記錄了每個文章(或連結)所對應的分類方法。
在上文中我們已經介紹了WordPress數據庫中各個表的作用,本文將繼續介紹每個表中每個列的作用。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:顯示名稱
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容