喺深入創建方法之前,我哋首先要理解乜嘢係子主題。WordPress 子主題係一個依賴於另一個主題(稱為「父主題」)嘅特殊主題。佢繼承咗父主題嘅所有功能、樣式同模板檔案,但容許你安全噉對其進行修改、添加新功能或者覆蓋父主題嘅設計,而唔會影響父主題嘅核心檔案。
呢種方式嘅巨大優勢在於,當父主題更新時,你對子主題所做嘅自訂修改唔會被覆蓋,從而確保咗網站嘅穩定性同可維護性。呢個係 WordPress 開發中遵循嘅最佳實踐之一。
創建 WordPress 子主題嘅步驟
創建一個基礎嘅子主題非常簡單,只需要遵循幾個標準步驟就得。成個過程圍繞住創建子主題目錄同特定嘅必需檔案展開。
推薦閱讀 WordPress 高效開發進階教程:從主題定制到性能優化全攻略。
首先,您需要透過 FTP 客戶端或主機嘅文件管理器,訪問您 WordPress 網站嘅伺服器文件。跟住,導航到 WordPress 安裝目錄下 /wp-content/themes/ 資料夾。
建立子主題文件夾同埋樣式表文件
喺呢個文件夾入面,為您嘅新子主題建立一個新目錄。目錄名稱最好能夠反映佢同父主題嘅關係,例如,如果父主題叫做 twentytwentyfour,您嘅子主題目錄可以命名為 twentytwentyfour-child。
進入呢個新創建嘅目錄,你需要創建子主題嘅第一個亦都係最重要嘅檔案:style.css。呢個檔案唔單止係一個樣式表,仲包含咗定義子主題嘅元數據。
/*
Theme Name: Twenty Twenty-Four Child
Theme URI: https://example.com/
Description: Twenty Twenty-Four Child Theme
Author: Your Name
Author URI: https://example.com/
Template: twentytwentyfour
Version: 1.0.0
Text Domain: twentytwentyfour-child
*/
/* 在此处添加您的自定义CSS样式 */ 關鍵點說明:
* Theme Name: 子主題嘅名稱,會喺 WordPress 後台顯示。
* Template:呢行係最關鍵嘅一行。佢嘅數值必須同父主題嘅目錄名稱完全一致(區分大小寫)。WordPress 會透過呢個欄位嚟識別父主題。
* Text Domain:用於國際化,通常同子主題目錄名一致。
創建 functions.php 檔案
跟住,喺子主題目錄度創建第二個必需檔案:functions.php。同父主題嘅 functions.php 唔同,子主題嘅呢個檔案唔會被覆蓋,而係會同父主題嘅同名檔案一齊執行(父主題嘅先執行)。
推薦閱讀 探索WordPress嘅最佳實踐同高效開發全攻略。
呢個檔案嘅主要作用之一係正確咁將父主題嘅樣式表排隊。呢個係一個標準嘅實現方式:
<?php
add_action( 'wp_enqueue_scripts', 'my_child_theme_enqueue_styles' );
function my_child_theme_enqueue_styles() {
wp_enqueue_style(
'parent-style',
get_template_directory_uri() . '/style.css'
);
wp_enqueue_style(
'child-style',
get_stylesheet_directory_uri() . '/style.css',
array( 'parent-style' )
);
}
?> 呢段代碼確保咗父主題嘅樣式表首先被載入,然後你嘅子主題樣式表會緊接住載入,當中嘅規則就可以覆蓋父主題嘅樣式。
啟動同自訂子主題
完成咗上面兩個檔案嘅建立之後,你就可以登入 WordPress 管理後台。進入「外觀」 -> 「佈景主題」頁面,你應該會睇到啱啱建立嘅子主題。撳「啟用」掣就可以啟動佢。
啟動咗之後,你個網站外觀會同父主題完全一樣。而家,你可以開始進行自訂喇:
- 修改樣式: 直接編輯子主題嘅
style.css文件,可以加任何 CSS 規則嚟改變顏色、字體、排版等等。 - 覆蓋模板文件: 如果你需要修改特定嘅頁面結構(例如首頁、文章頁、頁眉或者頁腳),只要將父主題入面對應嘅模板文件(例如
header.php,footer.php,page.php)複製到子主題目錄,然後進行編輯。WordPress 會優先使用子主題入面嘅文件。 - 加入新功能: 喺子主題嘅
functions.php入面加新嘅 PHP 函數、掛鉤(Hooks)同過濾器(Filters),嚟擴展網站功能。
子主題嘅高級應用同最佳實踐
學識咗基本創建方法之後,了解一啲高級技巧同最佳實踐可以令你嘅子主題更加強大同專業。
有選擇性噉載入父主題資源
有時,您可能唔想加載父主題嘅全部樣式或腳本。您可以根據需要,喺 functions.php 入面更精細咁控制資源嘅加載。例如,只係加載父主題用嚟特定佈局嘅樣式。
推薦閱讀 點樣揀同自訂最啱你網站風格嘅 WordPress 主題。
使用語言檔案進行國際化
如果您計劃分發您嘅子主題,或者網站需要多語言支援,正確設定文本域(Text Domain)並準備 .pot 語言檔案係必要嘅。確保喺程式碼入面所有可以翻譯嘅字串都用好似 __('String', 'your-child-theme-text-domain') 噉嘅函數包住。
版本控制同更新策略
強烈建議用 Git 等版本控制工具嚟管理你嘅子佈景主題程式碼。保持程式碼清晰註釋,同定期備份。子佈景主題本身都需要維護,當你加咗新功能或者修復咗 bug,可以更新 style.css 嘅版本號,方便將來管理。
摘要
創建 WordPress 子主題係每一位網站開發者、設計師甚至係高級用家都應該掌握嘅核心技能。佢透過「繼承同覆蓋」嘅優雅方式,喺保障網站核心(父主題)可以安全更新嘅前提下,為你提供無限嘅自訂自由。由創建目錄同兩個核心文件(style.css 同埋 functions.php)開始,到啟用並進行樣式、模板、功能嘅深度自訂,整個過程步驟清晰、風險可控。跟住本文介紹嘅最佳實踐,你將能夠構建出穩定、專業而且易於長期維護嘅 WordPress 網站。
常見問題
係咪每一個 WordPress 主題都支援創建子主題?
從技術上講,任何遵循 WordPress 編碼標準嘅主題都可以作為父主題。通常,主流同高質素嘅主題都會明確聲明支援子主題。你可以喺主題嘅官方描述或者文檔度睇到。如果主題結構規範,即使冇明確聲明,創建子主題通常都係可以正常運作嘅。
子主題嘅 `style.css` 中 `Template` 欄位填寫錯誤會點樣?
如果 Template 欄位嘅值同父主題嘅實際目錄名稱唔匹配嘅話,WordPress 就冇辦法識別到佢嘅父主題。咁樣會導致子主題喺後台冇辦法啟動,或者啟動之後網站前端顯示異常(樣式消失、版面混亂)。所以,一定要確保呢個欄位填寫得準確。
我可唔可以基於一個子主題再創建另一個「孫」主題呀?
WordPress 主題系統原生只支援一層繼承關係,即一個子主題只能有一個直接嘅父主題。理論上,你可以嘗試令一個子主題聲明另一個子主題作為其模板,但呢個屬於非標準做法,極有可能導致不可預知嘅錯誤同兼容性問題,因此強烈唔建議咁做。
更新父主題之後,我個子主題嘅自訂內容會唔會消失?
呢個係使用子主題嘅最大優勢之一:唔會消失。更新父主題只會覆蓋父主題目錄下嘅檔案。你所有嘅修改都保存喺獨立嘅子主題目錄入面,所以會得到完整保留。不過要留意,如果父主題嘅重大更新改變咗一啲核心功能或者模板結構,你子主題入面覆蓋嘅對應部分可能需要相應噉調整,以適應新版本。
下一步應該點做?
延伸閱讀及實用知識
以下內容與本文主題相關,適合進一步閱讀。一般而言,最好由與你目前問題最緊密相關的文章開始,然後逐步擴展到周邊主題。