, , , ,

WordPress網站結構分析

WordPress系統檔案

WordPress 三大支柱:從底層架構到畫面呈現的全景指南

WordPress 的技術殿堂。作為一名課程架構師,我始終認為:要從「使用者」晉升為「開發者」,你必須擁有解構系統的洞察力。我常將 WordPress 比喻為一個活生生的有機體。

當你輸入網址的那一刻,這個有機體的各個器官便開始協作,將儲存在深層記憶中的數據,轉化為訪客眼前精美的視覺呈現。

本指南將帶領你深入探索支撐這個有機體的「三大支柱」:檔案、資料庫與佈景主題。

第一支柱:核心檔案與目錄結構 (物理骨架)

檔案結構是 WordPress 的物理骨架。它決定了這個系統如何「運作」。在根目錄下,WordPress 透過嚴謹的階層劃分功能,確保系統的穩定性。

1.三大核心資料夾:器官與引擎

這些資料夾位於安裝根目錄,各自承擔不同的生命機能:

資料夾名稱功能描述修改許可權
wp-admin後台器官:包含所有管理介面、文章編輯與系統設定的核心程式。
wp-includes動力引擎:存放系統運行的底層函式庫(如 jQuery, PHPMailer),支撐全身運作。
wp-content自訂組織:存放使用者上傳的內容、佈景主題、外掛與語系檔案。

特別補充: wp-content 內部的資料夾用途

資料夾名稱用途說明
languages用來放置各種語言包檔案
plugins外掛專用的目錄
themes佈景主題專用的目錄
upgrade用來放置要升級用的檔案包
uploads用來放置上傳的媒體檔案

2.四大關鍵檔案及其「靈魂任務」

這些檔案駐紮在根目錄,是啟動網站的樞紐:

(1)wp-config.php:網站的心臟,負責儲存資料庫連線資訊。它還保護著安全性金鑰 (SALT),是連接身體(檔案)與大腦(資料庫)的橋 樑。
(2).htaccess:路徑的引導者,負責處理 Apache 伺服器的 URL 重寫。(技術筆記:若使用 Nginx 伺服器,系統將不使用此檔案,需在伺服器配置文件中設定)。
(3)index.php:唯一的入口,所有訪客請求的第一站,負責啟動並載入 WordPress 環境。
(4)wp-load.php:環境的推手,負責載入設定檔並配置環境變數,確保系統準備就緒。

第二支柱:資料庫架構 (記憶中樞)

如果檔案是身體,資料庫就是 WordPress 的「大腦」與「長期記憶」。標準的安裝包含 12 張預設資料表,我們可以將其邏輯分類,理解它們如何儲存網站的 DNA:

  • 全域設定類:wp_options (網站網址、外掛設定)。
  • 核心內容類:wp_posts (文章、頁面、媒體、選單項目)、wp_postmeta (文章的額外資訊)。
  • 用戶權限類:wp_users (基本帳密)、wp_usermeta (角色權限、個人檔案)。
  • 分類標籤類:wp_terms (名稱)、wp_term_taxonomy (分類類型)、wp_term_relationships (對應關係)、wp_termmeta (分類額外資訊)。
  • 互動與遺留類:wp_comments (評論)、wp_commentmeta (評論元數據)、wp_links (舊版連結管理,現已少用)。

WordPress 資料庫是整個網站的「引擎室」,隱藏在幕後儲存並管理著網站的所有動態內容與系統設定。WordPress 主要支援 MySQL 或 MariaDB 資料庫系統,而所有資料庫的連線資訊、安全金鑰以及資料表前綴(預設為 wp_)都儲存在網站根目錄的 wp-config.php 檔案中。
在標準的單站安裝中,WordPress 會預設建立 12 張核心資料表。我們可以將這些資料表依功能劃分為以下幾大範疇:

  1. 內容與媒體核心
    (1)wp_posts(核心內容表):這是 WordPress 中最強大也最重要的資料表。它不僅儲存一般的部落格文章(Posts),還儲存靜態頁面(Pages)、自訂文章類型(Custom Post Types)、媒體附件(Attachments)、導覽選單(Menus)以及文章的修訂版(Revisions)。資料表中的 post_type 欄位是分類這些不同內容類型的關鍵。
    (2)wp_postmeta(文章元數據表):採用「鍵值對」(Key-Value)結構,用來無限擴充並儲存與 wp_posts 關聯的附加資訊
    。例如:頁面範本設定、精選圖片 ID、SEO 外掛資料和頁面編輯器(Page Builders)的版面配置等。
  2. 系統設定
    (1)wp_options(系統與全域設定表):儲存網站的所有全域設定,例如網站網址(Site URL)、首頁網址、管理員信箱、佈景主題與外掛的啟動狀態等。這張表具有 autoload(自動載入)機制,如果裡面堆積了太多無用外掛殘留的設定,會直接影響網站的載入速度。
  3. 使用者管理
    (1)wp_users(使用者基本資料表):儲存所有註冊使用者的核心資訊,包含使用者帳號、加密後的密碼(Password Hashes)、電子信箱、註冊時間和顯示名稱等。
    (2)wp_usermeta(使用者元數據表):用來儲存使用者的延伸個人檔案資訊(如姓名、暱稱、後台介面顏色設定等),最重要的是它儲存了決定使用者控制權限的使用者權限角色(Capabilities & Roles)。
  4. 分類法系統(Taxonomies)
    這四張表協同工作,用來管理文章的分類(Categories)與標籤(Tags):
    (1)wp_terms(詞條表):儲存所有分類、標籤或自訂分類法的名稱與網址別名(Slug)。
    (2)wp_term_taxonomy(分類法定義表):用來定義 wp_terms 裡的詞條是屬於分類(category)、標籤(post_tag)還是自訂分類法,並儲存父子階層關係與文章計數。
    (3)wp_term_relationships(關係對照表):這是一張「多對多」的關係對照表,用來記錄哪一篇文章(wp_posts)屬於哪一個分類或標籤(wp_term_taxonomy)。
    (4)wp_termmeta(分類法元數據表):儲存分類與標籤的額外元數據,例如分類的特色圖片、自訂顏色或 SEO 設定等。
  5. 評論與留言系統
    (1)wp_comments(評論表):儲存讀者留言的內容、留言者姓名、電子信箱、IP 位址以及評論的階層樹狀結構。
    (2)wp_commentmeta(評論元數據表):儲存評論的額外附加資訊,例如由垃圾評論過濾外掛標記的垃圾評論狀態,或是評價星等(Ratings)。
  6. 歷史遺留
    (1)wp_links(舊版鏈結表):這張表主要用於早期 WordPress 版本的「友情連結(Blogroll)」功能。在現代 WordPress 中已鮮少使用且已被棄用(Deprecated),但在標準安裝中仍會保留以維護向後相容性

第三支柱:佈景主題與範本階層 (視覺呈現)

當大腦準備好數據,身體準備好引擎後,最後一步是決定如何將這些資訊「畫」在螢幕上。這就是「視覺呈現」的藝術。

  1. 佈景主題的「最低消費」
    一個佈景主題僅需兩個檔案即可運作:
    style.css:定義視覺樣式與主題資訊。
    index.php:負責內容呈現的萬用底線,也是系統的終極安全網。
    現代筆記: 隨著全站編輯 (FSE) 興起,現代的區塊佈景主題正逐漸轉向使用 .html 檔案作為範本。
  1. 範本檢索邏輯 (Template Hierarchy)
    WordPress 會根據網址,從「最特定」尋找到「最通用」的範本檔案:
    單一文章 (Single Post) 路徑:
    single-{post_type}-{slug}.php (最特定,如 single-post-hello-world.php)
    single-{post_type}.php (特定類型,如 single-portfolio.php)
    single.php (通用文章範本)
    singular.php (所有單一內容的備用檔案)
    index.php (萬用安全網)
    分類頁面 (Category Archive) 路徑:
    category-{slug}.php (如 category-news.php)
    category-{id}.php (如 category-10.php)
    category.php (分類預設)
    archive.php (所有封存頁預設)
    index.php (萬用安全網)