9 mins read2022/07/17

WordPress 專案目錄/檔案結構解析 – ./


什麼是 WordPress 專案目錄結構

在開發上,我們經常將資料夾( folder )講為目錄( directory )

所以專案目錄,其實指得就是專案資料夾

 

為什麼我需要知道專案目錄結構

因為我們在做客製化開發之前,必須先了解專案目錄結構

讓你快速知道哪個資料夾裡面大概擺什麼東西

否則一個 WordPress 動則 8000 到上萬隻 php 檔案,要怎麼知道什麼東西要改哪裡?

WordPress directory
一個標準的 WordPress 專案目錄大概長這樣

 

下述分成目錄與檔案說明, ⭐ 是比較常用到的,需要留意

如果真的記不起來,那看有 ⭐ 的就好 😂

目錄名稱 說明
📁wp-admin 直接翻譯:admin 有管理員的意思

所以 wp-admin 是所有後台的檔案

如果你刪除 wp-admin 會導致你進不去後台

WordPress 核心版本更新時,會更新此目錄

📁wp-content 直接翻譯:content 有內容的意思

所以 wp-content 是所有 WordPress 的”內容”檔案,會包含像是 套件( Plugins )、主題( Themes ) 等內容…

如果你刪除 wp-content 就會把你全部的主題、套件都刪光

WordPress 核心版本更新時,不會更新此目錄

進行 WordPress 的升版 & 降版作業時,主要也是搬運此目錄以及資料庫為主

📁wp-includes 直接翻譯:includes 有包含的意思,在開發上,incincludes 通常都是代表專案的核心檔

所以 wp-includes 是 WordPress 的”核心”檔案,會包含像是主要函式定義( function ) 、類定義( Class ) 、內容的載入順序、Hook機制的邏輯、版面覆寫( Override )的邏輯、還有 WordPress 預設整合進去的第三方套件也在裡面等內容…

如果你刪除 wp-includes 就不用玩 WordPress 了,核心都沒了玩個毛線

WordPress 核心版本更新時,會更新此目錄

 

接來來是檔案的說明,大多數的 .php 檔案,除了標註可以刪除之外的都是核心檔案

 

檔案名稱 說明
.htaccess⭐ 這是一個設定重新定向( redirect )的檔案

通常搭配 Apache 網頁伺服器使用

使用 Nginx 網頁伺服器的話可能不需要這個檔案

index.php WordPress 入口文件
license.txt WordPress 授權說明

*此檔可刪

readme.html “讀我”文件,也是 WordPress 的說明文件

*此檔可刪

wp-activate.php 處理啟用,尚不清楚在哪邊用到
wp-blog-header.php 處理 WordPress Header & 環境的核心檔之一

↑ 這邊提到的 Header 不是你眼睛看到的 Header,是 HTTP 的 Header

總之,是不同的東西

wp-comments-post.php 處理留言提交
wp-config-sample.php 這是 wp-config.php 的範例配置檔案,檔名都叫 “sample” 了,就是給你參考用的

*此檔可刪

wp-config.php WordPress 的設置文件,可以配置許多重要的資訊,例如資料庫名稱、資料庫用戶 & 密碼,還有許多有用的常數,例如 WP_DEBUG 偵錯模式就是在這邊打開
wp-cron.php 處理定時任務( cron job )
wp-links-opml.php 尚不清楚在哪邊用到

看說明,這隻檔案是用 XML 方式來輸出連結,而且看起來預設並不會使用,必須手動添加

wp-load.php 引入核心檔 & 定義路徑參數
wp-login.php 處理用戶登入、驗證以及重設密碼
wp-mail.php 處理發信功能
wp-settings.php 核心設定檔
wp-signup.php 你剛安裝 WordPress 的安裝頁面就是這個
wp-trackback.php 處理送到 WordPress 的 TrackbacksPingbacks
xmlrpc.php 處理 XML-RPC,對外遠端程式呼叫( Remote Procedure Call ; RPC )的 API 接口

 

接下來會把每個目錄 & 檔案,個別說明,然後補上連結

敬請期待

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

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