薇曉朵很少講 WordPress 教程,今後將會逐步增加 WordPress 教程,我想這對於 WordPress 主題的使用是很有幫助的。特別 WordPress 資料庫來講,很多人知其然不知其所以然。 WordPress 使用資料庫儲存,恢復和顯示資料。資料庫是 CMS 最重要的部分。對於 WordPress 來講能如此成功,我想資料庫結構是一個很重要的部分。對於追求簡約的今天,WordPress 採用了一個簡單方便,易於理解和管理的資料庫結構。
WordPress 提供開發者和使用者幾種方法訪問儲存在資料庫中的資料,儘管大多數人沒有必要直接訪問資料庫,但是為了更好的使用 WordPress,熟悉 WordPress 資料庫是非常重要的。因為透過 WordPress 資料庫,可以直接解決一些問題,如修改密碼、關閉外掛、選擇主題等等。
一、 wp-config.php 中的資料庫部分
在我們新安裝 WordPress 的時候,提供了兩種方法連結資料庫,一就是根據提示進行設定,一就是配置 wp-config.php 。不過如何,都是對 wp-config.php 進行設定:
<pre>// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', '');
/** MySQL database username */
define('DB_USER', '');
/** MySQL database password */
define('DB_PASSWORD', '');
/** MySQL hostname */
define('DB_HOST', 'localhost');
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each a unique
* prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = 'wp_';</pre>
DB_NAME 是資料庫名,DB_USER 是資料庫使用者名稱,DB_PASSWORD 資料庫密碼,DB_HOST 資料庫主機名,DB_CHARSET 是字元編碼,一般使用 utf8 就可以很好的工作,如果是特殊編碼,可在這裡修改。對於 DB_COLLATE 是控制單位元組和雙位元組的,對於雙位元組就不要管它。接下來 $table_prefix 是表字首。這允許你在一個資料庫內安裝多個 WordPress 。一些安全專家建議把這個修改成隨機產生的字元,長度不要太短,這樣駭客就不容易攻入你的資料庫。
二、 WordPress 資料庫結構
安裝好了後,你可以使用 phpadmin 登入你的資料庫,實際上不同的主機會有不同的登入方法。登入後你會發現有 12 張表。
這是預設的,實際上隨著你安裝相關外掛,這個表可能會增多,因為一下外掛會建立表來儲存資料的。
三、日誌表:wp_posts
wp_posts 是用來儲存你在 wodpress 後臺釋出的文章日誌的。這個表裡面有寫類說明一下:

這些自我解釋的都不錯,我們點選 「瀏覽」,看看文章型別,預設有文章、頁面、版本、附件、導航選單。如果你自定義了文章型別,在這裡也會顯示出來的。如:

post_mime_type 這一個型別大家可能不知道是什麼,看到的是空的。實際上一旦你插入了圖片之類的,你就會發現出現一些 jpg/gif 的圖片連結地址之類的。
四、選項表: wp_options
選項表主要包括 WordPress 的設定,包括下面的一些欄位:
- option_ID
- blog_ID
- option_name
- option_value
- auto_load
這個表裡麵包括許多相當重要的資訊,如站名、網址、管理員電子郵件、啟用的外掛和主題。
五、資料庫中的分類和術語
WordPress 使用了三種表去控制分類和自定義分類,這些是:
- wp_terms
- wp_term_taxonomy
- wp_term_relationship
對於新手來講看上去很複雜,但是實際上是相對的簡單。 第一張表 wp_terms 包含所有術語. 例如, Blogroll 一個術語並在未分類裡。預設安裝 Blogroll 是一個連結類別並在預設的分類裡。所有標籤,分類,連結分類,導航選單,自定義類別都是儲存在這張表的術語.
下一個 wp_term_taxonomy 表用於描述其歸屬,例如 術語 id 1 未分類) 屬於分類欄目, 而術語 id 2 (Blogroll) 是連結欄目.
在 wp_term_relationship 屬於關係表,也就是說一篇日誌,那個部分歸哪裡管之類的。

六、資料庫最佳化
在設定了一個資料庫後,對其最佳化也是重要的一部分,MySQL 提供了一條語句可以最佳化表,非常簡單:
<pre>OPTIMIZE TABLE 'wp_posts'</pre>
如果不想手動輸入的話,也可以使用 phpmyadmin 最佳化:

另外還可以使用 WordPress 外掛如 WP Optimize 或 r WP DBManager. 在使用外掛時,外掛會移除文章版本和垃圾評論。這是根據 WordPress 專家們所說的行數影響查詢效率。
七、結論
WordPress 是簡單的,易於理解的,保持乾淨和安全對於提高站點績效是很重要的。因此不要忽略最佳化,並經常備份。