輕鬆入門WordPress主題開發:從零到一構建自訂網站

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

理解WordPress主題嘅基本結構

喺開始寫代碼之前,理解一個WordPress主題嘅構成係至關重要嘅。一個主題本質上係一個文件夾,入面包含一系列特定格式嘅文件,呢啲文件一齊決定咗網站嘅外觀同功能。最基礎嘅主題只需要兩個文件:style.css同埋index.php

核心樣式表文件

style.css檔案唔單止係存放CSS樣式嘅地方,佢更加係一個主題嘅「身份證」。呢個檔案嘅頂部必須包含一個特定嘅註釋塊,即「樣式表頭部」,用嚟向WordPress系統聲明主題嘅名稱、作者、描述、版本等元信息。冇咗呢個頭部,WordPress就冇辦法識別呢個文件夾係一個有效嘅主題。

一個最基本嘅style.css文件頭部示例如下:

推薦閱讀 WordPress主題開發:從零開始構建你第一個自定義主題

/*
Theme Name: 我的第一个主题
Theme URI: https://example.com/my-first-theme
Author: 你的名字
Author URI: https://example.com
Description: 这是一个用于学习的自定义WordPress主题。
Version: 1.0
License: GPL v2 or later
Text Domain: my-first-theme
*/

核心模板檔案

index.php係主題嘅默認模板文件,亦都係最重要嘅一個。當WordPress冇辦法為當前請求嘅頁面搵到更具體嘅模板文件時,就會退而求其次用返index.php。佢負責由數據庫度攞內容,然後將佢以HTML嘅結構輸出到瀏覽器。一個最簡單嘅index.php檔案可能只係包含基本嘅HTML骨架同埋調用WordPress核心函數嘅PHP代碼。

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

除咗呢兩個核心文件,一個功能完整嘅主題通常仲包括:
* header.php:網站嘅頁頭部分。
* footer.php:網站嘅頁腳部分。
* functions.php:用嚟加強主題功能、註冊選單、側邊欄等等。
* page.php:用嚟顯示單一頁面。
* single.php:用於顯示單篇網誌文章。

搭建本地開發環境同創建第一個主題

喺真實嘅伺服器上面直接開發主題係危險同埋低效嘅。最佳實踐係喺本地電腦度搭建一個同線上環境相似嘅開發環境。你可以用XAMPP、MAMP、Local by Flywheel或者DevKinsta呢啲工具,佢哋能夠一鍵安裝PHP、MySQL同埋網頁伺服器。

創建主題資料夾同檔案

首先,喺你本地WordPress安裝目錄入面,搵到wp-content/themes/路徑。喺呢度開一個新資料夾,個名就係你主題嘅標識符,建議用細楷字母同連字號,例如my-first-theme

然後,喺呢個資料夾入面創建之前提到嘅兩個核心檔案:style.css同埋index.php。將上面嘅樣式表頭部代碼複製到style.css入面,並修改為你自己嘅資料。

推薦閱讀 WordPress主題開發入門:從零開始構建你嘅第一款網站皮膚

編寫基礎模板檔案

跟住,喺index.php入面寫入以下最基礎嘅代碼,佢包含咗WordPress必要嘅模板標籤。

<!DOCTYPE html>
<html no numeric noise key 1011>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <?php wp_head(); ?>
</head>
<body no numeric noise key 1008>
    <?php wp_body_open(); ?>

<header>
        <h1><a href="/yue/</?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo( 'name' ); ?></a></h1>
        <p><?php bloginfo( 'description' ); ?></p>
    </header>

<main>
        &lt;?php
        if ( have_posts() ) :
            while ( have_posts() ) : the_post();
                the_title( &#039;<h2>', '</h2>' );
                the_content();
            endwhile;
        else :
            _e( '抱歉,没有找到任何内容。', 'my-first-theme' );
        endif;
        ?&gt;
    </main>

<footer>
        <p>©</p>
    </footer>

<?php wp_footer(); ?>
</body>
</html>

完成以上步驟之後,入去你本地WordPress後台嘅「外觀」->「主題」頁面,你應該會見到一個叫「我嘅第一個主題」嘅主題已經出現。啟動佢,然後去網站首頁,你就會見到文章標題同內容顯示出嚟。

利用模板層級同核心函數

WordPress採用一套智能嘅「模板層級」系統,用嚟決定唔同頁面請求(例如首頁、文章頁、分類頁)要用邊個模板檔案。理解呢個系統係主題開發嘅關鍵。

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

理解模板載入順序

例如,當訪問一篇博客文章嘅時候,WordPress會跟以下順序搵模板檔案:single-post.php -> single.php -> singular.php -> index.php。佢會用搵到嘅第一個檔案。呢種設計令你可以為唔同類型嘅頁面創建高度客製化嘅版面,同時有一個index.php作為最終嘅保底選項。

使用循環同模板標籤

index.php入面你睇到嗰段PHP程式碼就係出名嘅「WordPress循環(The Loop)」。佢係所有模板檔案嘅核心,用嚟遍歷並輸出當前頁面應該顯示嘅文章或頁面。

喺個循環入面the_title()the_content()the_excerpt()呢啲函數被叫做「模板標籤」。佢哋嘅作用係安全噉輸出對應嘅文章數據。另一個重要嘅函數係the_post(),佢喺每次循環迭代嗰陣被調用,用嚟將全域嘅$post物件設定成當前文章嘅數據,並且推進到下一篇文章。

推薦閱讀 掌握關鍵技巧:由零開始創建你第一個 WordPress 主題

將頁面結構模組化係提升代碼可維護性嘅好方法。呢個就係header.php同埋footer.php嘅用武之地。

分離頭部與頁腳

index.php入面嘅<head>部分同<header>區域剪出嚟,貼到一個新整嘅header.php文件入面。同樣,將<footer>部分剪到footer.php入面。

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

然後,喺原本index.php入面,用get_header()同埋get_footer()呢兩個模板標籤嚟引入佢哋。

<?php get_header(); ?>

<main>
    &lt;?php the_title( &#039;<h2>', '</h2>' ); ?&gt;
        <p><?php _e( '抱歉,没有找到任何内容。', 'my-first-theme' ); ?></p>
    <?php endif; ?>
</main>

<?php get_footer(); ?>

噉樣,所有頁面模板都可以共用同一套頭部同頁尾,改嘅時候只需要改一個檔案。

透過Functions.php增強主題功能

functions.php文件係你主題嘅「控制中心」。佢唔係一個模板文件,而係一個喺主題初始化時自動加載嘅函數庫。你可以喺度添加功能、修改默認行為,而唔使修改WordPress核心文件。

註冊主題支援嘅功能

functions.php入面,你可以用add_theme_support()函數用嚟聲明你嘅主題支援邊啲WordPress功能。例如,啟用文章縮略圖(特色圖像)同自定義選單係常見操作。

<?php
function my_theme_setup() {
    // 添加对文章缩略图的支持
    add_theme_support( 'post-thumbnails' );

// 添加对自定义菜单的支持
    add_theme_support( 'menus' );

// 注册一个导航菜单位置
    register_nav_menus( array(
        'primary' => __( '主导航菜单', 'my-first-theme' ),
    ) );
}
add_action( 'after_setup_theme', 'my_theme_setup' );

加样式同脚本

正確添加CSS同JavaScript嘅方式係透過wp_enqueue_style()同埋wp_enqueue_script()功能,並將佢哋安裝到wp_enqueue_scripts呢個鉤子上。咁樣確保依賴關係正確,而且唔會重複加載。

function my_theme_scripts() {
    // 引入主题的主样式表
    wp_enqueue_style( 'my-theme-style', get_stylesheet_uri() );

// 引入自定义的JavaScript文件
    wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/script.js', array(), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' );

搞掂晒呢啲之後,你就可以喺header.php入面用wp_nav_menu()函數嚟顯示你註冊嘅菜單,喺文章循環度用the_post_thumbnail()嚟顯示特色圖像喇。

摘要

WordPress主題開發係一個由結構到細節嘅漸進過程。你首先需要理解由style.css同埋index.php構成嘅核心,並搭建好本地開發環境。跟住,掌握模板層級系統同「循環」嘅概念,令你能夠為唔同頁面創建精準嘅佈局。通過將header.php同埋footer.php模組化,你嘅代碼會變得清晰易維護。最後,functions.php文件為你打開咗功能擴展嘅大門,由註冊菜單到安全加載資源,佢令主題由靜態模板變為動態、強大嘅網站皮膚。跟住呢個路徑,不斷實踐同探索更具體嘅模板文件(例如single.phppage.phparchive.php),你就能逐步構建出功能完善、設計獨特嘅自訂WordPress網站。

常見問題

開發WordPress主題需要咩先決知識?

你需要掌握基礎嘅HTML同CSS,用嚟構建網頁嘅結構同樣式。同時,要對PHP有基本嘅了解,因為WordPress模板文件主要由PHP代碼構成,用於動態生成內容。對JavaScript嘅掌握可以令你為主題添加互動功能,喺初期唔係必須嘅,但後期好重要。

點解我個主題喺後台唔顯示?

最常見嘅原因係style.css文件入面嘅主題信息頭部格式唔啱或者缺失。請確保該文件頂部有完整嘅、符合格式要求嘅註解塊。另外,檢查主題文件夾係咪放咗喺正確嘅wp-content/themes/目錄下面,同埋文件夾名稱冇用到特殊字符。

點樣為我嘅主題添加小工具區域(側邊欄)?

你需要先喺functions.php入面用register_sidebar()函數度註冊一個或者多個小工具區域。然後,喺相應嘅模板檔案(例如sidebar.php)入面,使用dynamic_sidebar()函數嚟調用同顯示佢。最後,喺頁面模板度透過get_sidebar()引入呢個檔案。

改咗functions.php檔案搞到個網站白屏點算?

通常係因為functions.php檔案入面有PHP語法錯誤。由於呢個檔案喺主題載入初期就執行,錯誤會令成個網站中斷。解決方法係透過FTP或者主機控制台嘅檔案管理員,將出錯嘅functions.php改名(例如改做functions.php.bak),噉樣WordPress就會忽略佢,網站會恢復訪問,然後你可以再上傳修正咗嘅版本。

點樣令我嘅主題支援多語言翻譯?

你需要做好兩件事。首先,喺主題嘅所有文本輸出處使用WordPress嘅翻譯函數,例如__()_e(),同埋為佢哋指定喺style.css頭部定義嘅「Text Domain」。其次,使用好似Poedit噉嘅工具,掃描主題文件生成.pot模板檔案,並根據呢個創建對應語言(例如zh_CN.po同埋.mo)嘅翻譯文件,將佢哋放喺主題嘅/languages/目錄下。