8 mins read2022/08/04

WordPress 資料庫結構講解


為什麼要了解 WordPress 資料庫結構

了解資料庫結構是客製化開發的基本功

因為經常會有 CRUD ( 新增 / 讀取 / 修改 / 刪除 ) 欄位的需求

即便是做套件修改,我們也需要了解套件的資料是怎麼存的

 

什麼是資料庫

WordPress 預設搭配的資料庫,是 MySQL ( 能不能搭別款我還真沒研究過,有相關經驗的朋友再分享一下 )

mysql

 

大家可能蠻常聽到資料庫這個名子的,但可能不是很清楚資料庫是什麼東西,這邊來給大家簡單比喻一下

有使用虛擬主機架站的網友們應該多少會看到 phpMyadmin 這個東西

phpmyadmin
大概是長這樣

phpMyadmin 跟 MySQL 又是什麼關係呢

phpMyadmin 比較像是一個顯示介面,讓你方便去管理 MySQL 的,例如 localwp 就不是使用 phpMyadmin 而是使用 adminer

MySQL 他是存在在作業系統上的資料庫程序,所以它是沒有介面的,必須使用 CLI 命令列介面操作,要用 MySQL 語法去操作

而透過 phpMyadmin 或 adminer 可以提供一個人性化的圖形介面讓我們比較輕鬆地去操作 MySQL 資料庫

 

初探 phpMyadmin

其實資料庫,就像大家熟系的 Microsoft Office Excel

它就是一個表格

每一個資料庫 ,你可以把它想像成是一個 Excel 檔案

一個資料庫裏面會有很多資料表,你可以把它想像成一個 Excel 工作表 ( sheet ),如下圖紅框

資料表 ( table ) 就像是 Excel 的工作表 ( sheet ) 一樣

而你點進資料表裡面,就會看到欄位跟資料了

是不是就像 Excel 一樣呢

其實你真的可以把單一 資料表 或 整個資料庫 匯出成 Excel 格式

SQL檔是用來匯入進資料庫的格式,csv 可以用 Excel 開啟

 

WordPress 資料庫結構

大家也可以看看 WordPress 官方文件

⭐ 是作客製化開發經常會用到的

meta 大家可以理解成,額外資訊的意思

term 稍微比較難翻一點,應該是要翻成術語專用名稱( 例如文章分類文章標籤產品分類產品標籤都屬於 term ),這邊我還是先維持叫 term

資料表名稱 說明
wp_commentmeta 紀錄留言額外資訊
wp_comments 紀錄留言主體
wp_links 這張表其實現在已經用不到了

還留著是為了兼容舊版的 WordPress

詳情可以看官方的這張單

wp_options⭐ 紀錄網站的設定

通常後台的設定裡面的資料都會存在這

wp_postmeta⭐ 紀錄文章額外資訊
wp_posts 紀錄文章主體
wp_termmeta 紀錄 term 額外資訊
wp_terms 紀錄 term 主體
wp_term_relationships 紀錄各個 term 與文章的關係
wp_term_taxonomy 紀錄 term 的 分類系統  ( taxonomy )、數量以及階層關係
wp_usermeta⭐ 紀錄用戶額外資訊
wp_users 紀錄用戶主體

為什麼我只對 wp_posts_meta / wp_usermeta 打⭐,wp_posts / wp_users 卻不打呢

這是因為我們做客製化時,通常是針對額外的欄位去做新增跟擴充,因此確實我們用到 meta 資料表的機會比較大

而且我們未來學到 WP Query 的時候會用到,大家可以多去這些表看看資料結構

 

 

 

覺得不錯的話,請給我點個推薦

您的支持與鼓勵是我們前進的最大動力!