乜係 WordPress 主題開發

3分鐘閱讀
2026-03-18
2026-06-03
2,748
當你透過以下連結購物,我會獲得佣金,對你嚟講冇額外成本。.

乜係 WordPress 主題開發

WordPress 主題開發係指創建用嚟控制 WordPress 網站外觀同功能嘅程式碼包。一個主題唔單止係一套樣式表,佢係一系列模板檔案嘅集合,呢啲檔案定義咗網站由前端頁面到管理後台界面嘅呈現方式。核心檔案style.css作為主題嘅「身份證」,唔單止存放樣式,仲包含咗主題名稱、作者、版本等元數據。透過開發自訂主題,開發者可以實現高度定制化嘅設計,擺脫預設主題嘅限制,同埋優化網站嘅效能同安全性。

主題嘅核心結構解析

一個標準嘅 WordPress 主題由一系列特定嘅文件構成。首先係必不可少嘅index.php,佢係所有未指定模板頁面嘅默認入口。首頁模板home.php、文章頁模板single.php同頁面模板page.php就分別控制住博客首頁、單篇文章同獨立頁面嘅顯示。header.php同埋footer.php負責網站頭部同尾部嘅公共內容,通過get_header()同埋get_footer()函數被引入到其他模板中。

另外,functions.php檔案扮演住「主題引擎」嘅角色,用嚟添加主題功能、註冊菜單、側邊欄,同埋掛載各種操作同過濾器鉤。主題嘅視覺樣式就由style.css定義,同時,screenshot.png作為主題截圖,喺後台嘅主題選擇器度展示。

推薦閱讀 從零開始:WordPress主題開發嘅核心架構

點樣創建你嘅第一個主題

創建 WordPress 主題嘅第一步係建立正確嘅文件目錄結構。你需要喺wp-content/themes/目錄下新開一個文件夾,例如命名為「my-first-theme」。喺呢個文件夾入面,創建兩個必不可少嘅啟動文件:style.css同埋index.php

UltaHost WordPress 主機
30日退款保證,無限頻寬同數據庫,免費DDoS防護,買3年優惠50%

style.css文件嘅頭部,必須加一段格式規範嘅註釋來聲明主題資訊。呢個係 WordPress 識別主題嘅關鍵。最基本嘅代碼如下所示:

/*
Theme Name: My First Theme
Theme URI: https://example.com/my-first-theme
Author: Your Name
Author URI: https://example.com
Description: 这是我的第一个自定义 WordPress 主题。
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: my-first-theme
*/

跟住,喺index.php喺文件入面,你可以由最簡單嘅 HTML 結構開始,確保調用 WordPress 嘅核心函數嚟載入頭部、底部同側邊欄。一個極簡嘅index.php例子如下:

<?php get_header(); ?>

<main id="main-content">
    <?php if ( have_posts() ) : ?>
        <?php while ( have_posts() ) : the_post(); ?>
            <article>
                <h2><?php the_title(); ?></h2>
                <div><?php the_content(); ?></div>
            </article>
        
</main>

而家,登入 WordPress 後台嘅「外觀」->「佈景主題」頁面,你應該會睇到你嘅佈景主題已經出現,可以啟動佢喇。雖然佢而家功能簡單,但已經係一個可以運行嘅佈景主題框架。

利用 functions.php 增強佈景主題功能

functions.php檔案係主題嘅功能中心,用嚟存放所有用於增強主題功能嘅 PHP 代碼。佢會喺主題初始化時自動載入。一個常見嘅用途係註冊主題支援嘅功能,例如透過add_theme_support()函數啟用文章特色圖像同自訂選單。

推薦閱讀 由零開始:WordPress 主題開發與最佳實踐的全面指南

例如,以下代碼啟用咗文章縮圖、標題標籤同兩個菜單位置:

function my_theme_setup() {
    // 启用文章和页面特色图像
    add_theme_support( 'post-thumbnails' );
    // 让 WordPress 管理文档标题
    add_theme_support( 'title-tag' );
    // 注册导航菜单
    register_nav_menus( array(
        'primary' => esc_html__( '主菜单', 'my-first-theme' ),
        'footer'  => esc_html__( '页脚菜单', 'my-first-theme' ),
    ) );
}
add_action( 'after_setup_theme', 'my_theme_setup' );

另一個核心功能係註冊「小工具」區域(側邊欄)。咁樣可以畀用戶喺後台嘅「小工具」介面動態咁向指定區域添加內容。使用register_sidebar()函數可以實現:

function my_theme_widgets_init() {
    register_sidebar( array(
        'name'          =&gt; esc_html__( '主侧边栏', 'my-first-theme' ),
        'id'            =&gt; 'sidebar-1',
        'description'   =&gt; esc_html__( '在此添加主侧边栏小工具。', 'my-first-theme' ),
        'before_widget' =&gt; '<section id="%1$s" class="widget %2$s">',
 'after_widget'  =&gt; '</section>',
 'before_title'  =&gt; '<h3 class="widget-title">',
 'after_title'   =&gt; '</h3>',
    ) );
}
add_action( 'widgets_init', 'my_theme_widgets_init' );

噉樣,喺主題模板入面(例如sidebar.php),你就可以用dynamic_sidebar( 'sidebar-1' )去輸出呢個區域嘅內容。

hosting.com 共享主機
高效能,配備 AMD EPYC 處理器、NVMe SSD 儲存同 LiteSpeed,提供全天候專業內部支援,採用先進安全措施,包括 SSL、暴力破解、惡意軟件同 DDoS 防護,可節省高達 73%。

模板層級同自訂頁面

WordPress 用一套叫「模板層級」嘅智能系統,嚟決定特定頁面要調用邊個模板文件。系統會按照由最特定到最通用嘅順序去搵文件。例如,當訪問一篇ID係123嘅文章時,WordPress 會順次序搵:single-post-123.php -> single-post.php -> single.php -> singular.php -> index.php

建立自訂頁面範本

你可以為特定頁面創建具有獨特佈局嘅模板。只需要喺模板文件頂部加一段特殊註解就得。例如,創建一個叫「全闊頁面」嘅模板,文件可以命名為template-fullwidth.php

<?php
/**
 * Template Name: 全宽页面
 * Description: 一个没有侧边栏的全宽页面模板。
 */
get_header(); ?>

<main id="main-content" class="full-width">
    <?php while ( have_posts() ) : the_post(); ?>
        <article id="post-<?php the_ID(); ?>">
            <h1><?php the_title(); ?></h1>
            <div class="entry-content">
                <?php the_content(); ?>
            </div>
        </article>
    <?php endwhile; ?>
</main>

<?php get_footer(); ?>

創建咗之後,喺 WordPress 後台編輯任何一個頁面時,喺「頁面屬性」嘅「模板」下拉框入面,就會出現「全闊頁面」選項俾你揀。

推薦閱讀 WordPress主題開發完整指南:從零開始構建自訂網站

用模板部件實現重用

對於喺多個模板度重複出現嘅代碼塊(例如文章預覽、作者資料框),可以用get_template_part()函數將佢抽取出嚟做「模板部件」。舉個例,整一個content-excerpt.php檔案嚟展示文章摘要:

<article id="post-<?php the_ID(); ?>" no numeric noise key 1003>
    <h3><a href="/yue/</?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
    <div class="post-excerpt">
        <?php the_excerpt(); ?>
    </div>
</article>

跟住,喺index.phparchive.php喺個循環入面,用get_template_part( 'content', 'excerpt' );嚟引入呢個部件,令代碼更加清晰同易於維護。

InterServer 共享主機
共享主機:每月1TB,只需£2.50;首月只需£0.10,使用優惠碼 tryinterserver。461個雲端應用程式腳本,一鍵安裝。

摘要

WordPress主題開發係一項系統性嘅工程,佢從理解核心文件(如style.css同埋index.php)嘅基礎結構開始。透過functions.php文件,開發者可以深度擴展主題功能,註冊菜單、側邊欄同埋利用各種WordPress鉤子。掌握「模板層級」規則係創建靈活主題嘅關鍵,佢容許你為唔同類型嘅頁面設計精準嘅模板。透過創建自訂頁面模板同埋利用模板部件,可以實現代碼嘅高度複用同埋清晰嘅組織結構。遵循呢啲核心原則同實踐,開發者能夠構建出功能強大、設計獨特且性能優異嘅自訂WordPress主題。

常見問題

開發主題必須要有PHP基礎嗎

係嘅,具備PHP基礎係進行WordPress主題開發嘅必要條件。因為主題嘅核心邏輯,包括模板標籤、循環、同埋functions.php入面嘅所有功能擴展,都係用PHP編寫嘅。同時,對HTML同CSS嘅熟練掌握亦都好緊要,佢哋一齊決定咗網站嘅結構同樣式。

WordPress主題同插件有咩分別

主題(Theme)主要負責控制網站嘅外觀表現,即係用戶睇到嘅視覺層同前端佈局。佢透過模板檔案嚟定義頁面點樣顯示。而插件(Plugin)就係為網站添加特定功能,呢啲功能可以獨立於主題存在,例如聯絡表格、SEO優化、快取等等。一個網站只可以同時啟動一個主題,但係可以安裝並啟動多個插件。

點樣為我嘅主題添加多語言支援

為你嘅主題加入多語言支援(國際化同本地化),首先需要喺style.css嘅頭部註釋同functions.php度正確設定文字域(Text Domain),好似上面例子入面嘅「my-first-theme」咁。然後,喺主題入面用翻譯函數(例如(), _e(), esc_html())包住所有需要翻譯嘅字串。最後,你可以用Poedit呢類工具生成.pot翻譯模板檔案,俾翻譯人員整返相應嘅.mo語言包。

子主題有咩作用,點樣整

子主題(Child Theme)容許你基於一個現有主題(父主題)進行修改同自訂,而唔使直接改動父主題嘅檔案。咁樣做嘅好處係,當父主題更新嗰陣,你嘅自訂修改(存在於子主題中)唔會消失。創建一個子主題好簡單:喺themes目錄下新開一個資料夾,並喺入面創建一個包含必要標頭資訊嘅style.css同一個functions.php文件。喺style.css入面,必須用「Template:」行嚟聲明父主題嘅目錄名。