完整教學:WooCommerce 自訂產品頁面模板提升銷售轉換率

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

一個標準化嘅產品頁面雖然唔會出錯,但亦好難令你嘅商品喺激烈嘅市場競爭中突圍而出。透過自訂 WooCommerce 產品模板,你可以完全掌控頁面佈局、資訊展示優先次序同用戶體驗流程,從而引導訪客完成購買,顯著提升轉化率。本教程會手把手教你點樣安全、高效咁創建自訂模板,從理解模板結構到實戰開發,再到進階優化技巧。

WooCommerce 模板系統解析

喺開始動手修改之前,理解 WooCommerce 嘅模板層級結構至關重要。咁樣可以確保你嘅自訂工作既有效又易於維護。

WooCommerce 使用一套基於主題層級(Template Hierarchy)嘅模板系統。當商店頁面需要渲染嘅時候,WooCommerce 會按照特定順序搵模板檔案。其核心查找路徑係:你的主题目录 -> 插件的模板目录

推薦閱讀 乜嘢係 WooCommerce 客戶元數據,同埋點解需要管理佢哋

具體啲講,WooCommerce 會優先喺你而家用緊嘅主題資料夾度搵一個叫做 woocommerce 嘅子目錄。如果主題入面冇相應嘅模板檔案,佢先會用返插件本身嘅模板檔案(喺 wp-content/plugins/woocommerce/templates/度)。呢種機制即係話你可以透過喺你嘅主題度創建對應嘅檔案,安全咁覆蓋任何預設模板,唔使改插件核心檔案,咁就保證咗插件更新嗰陣你嘅自訂內容唔會唔見咗。

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

關鍵模板檔案定位

對於產品詳細頁面,最核心嘅模板文件係 single-product.php。呢個文件控制住成個產品頁面嘅整體框架。喺佢內部,通常會透過 wc_get_template_part() 函數載入其他更細粒度嘅模板部分,例如產品圖片、標題、價格、摘要、屬性、標籤頁同表單等等。

你需要關注嘅主要模板文件通常位於主題嘅 woocommerce 喺子目錄入面,或者直接由插件模板目錄複製過嚟。例如,產品圖片區域由 single-product/product-image.php 控制,而加入購物車表格就由 single-product/add-to-cart.php 管理。明白呢個結構,你就可以準確噉定位同修改頁面嘅任何一個部分。

建立自訂產品模板嘅三種方法

根據你嘅技術能力同埋客製化需求,可以揀唔同複雜程度嘅方法嚟實現自訂模板。

用子主題進行安全覆蓋

呢個係最推薦、最安全嘅方法。創建一個子主題(Child Theme),然後喺子主題文件夾入面建立同 WooCommerce 模板層級一致嘅目錄結構。
例如,要覆蓋產品主模板,你需要喺子主題入面創建路徑:your-child-theme/woocommerce/single-product.php。然後將插件入面嘅原始 single-product.php 檔案內容複製過嚟,喺呢個基礎上面進行修改。咁樣,就算父主題更新,你嘅 WooCommerce 自訂部分都會得到保留。

推薦閱讀 從零開始:手把手教你搭建一個多功能WordPress博客

透過頁面建構器插件實現

如果你唔熟代碼,可以用好似 Elementor Pro、Divi Builder 或者 WPBakery 呢類高級頁面建構器。佢哋通常提供 WooCommerce 產品模板嘅視覺化編輯功能。你可以喺工具入面直接拖拽組件(例如標題、畫廊、價格、表單),同埋設定樣式,然後將佢應用喺所有產品或者特定產品類別。呢個方法快速直觀,但可能依賴特定插件,同埋可能會增加頁面加載時間。

編寫自訂範本檔案並分配

對於更複雜或獨特嘅版面,你可以建立一個全新、獨立嘅範本檔案。喺你嘅主題資料夾入面建立一個新檔案,例如 single-product-custom.php。喺呢個檔案嘅最頂部,你需要加返一個特定嘅範本頭部註釋嚟聲明佢嘅名稱。

<?php
/**
 * Template Name: 自定义产品布局
 * Template Post Type: product
 */
get_header(); // 调用主题头部
?>
// ... 你的自定义HTML和PHP代码 ...
<?php get_footer(); // 调用主题底部 ?>

建立完成之後,喺 WordPress 後台編輯單一產品嗰陣,你可以喺「頁面屬性」或者「範本」下拉式選單入面搵到並揀返你啱啱建立嘅「自訂產品版面」。

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

實戰:自訂產品頁面版面範例

等我哋透過一個具體案例嚟學習:點樣重新排列產品頁面嘅元素,將「加入購物車」表單搬去產品圖片隔籬,突出購買呼籲。

首先,喺你嘅子主題 woocommerce 目錄下建立或者複製 single-product.php。我哋需要重構呢個檔案嘅邏輯。

原始模板通常會按順序加載各個部分。我哋要做嘅係重新組織呢啲部分嘅調用。以下係一個簡化版嘅示例代碼,展示咗點樣創建一個兩欄佈局:

推薦閱讀 真係正!WordPress 自訂文章類型終極指南:由零到精通

// 文件路径:your-child-theme/woocommerce/single-product.php
while ( have_posts() ) : the_post(); ?&gt;
<div id="product-<?php the_ID(); ?>" no numeric noise key 1007>
    <div class="custom-product-container">

<!-- 左栏:主要放图片和摘要 -->
        <div class="product-left-column">
            <?php
            // 输出产品图片
            do_action( 'woocommerce_before_single_product_summary' );
            ?>
        </div>

<!-- 右栏:主要放标题、价格、表单和元信息 -->
        <div class="product-right-column">
            <?php
            // 输出产品摘要内容,但我们需要调整内部顺序
            ?>
            <div class="summary entry-summary">
                <?php
                // 1. 先输出标题
                woocommerce_template_single_title();
                // 2. 立即输出价格
                woocommerce_template_single_price();
                // 3. 紧接着输出“添加到购物车”表单
                woocommerce_template_single_add_to_cart();
                // 4. 再输出摘要描述
                woocommerce_template_single_excerpt();
                // 5. 输出元信息(如SKU、分类)
                woocommerce_template_single_meta();
                ?>
            </div>
        </div>

</div>

<div class="product-full-width">
        <?php
        // 产品详情选项卡(描述、额外信息、评论)仍放在底部全宽显示
        do_action( 'woocommerce_after_single_product_summary' );
        ?>
    </div>
</div>
<?php endwhile; // end of the loop. ?>

跟住,你需要加入相應嘅 CSS 嚟創建兩欄佈局。將以下 CSS 加落去子主題嘅 style.css 檔案入面:

.custom-product-container {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 60px;
}
.product-left-column {
    flex: 1;
    min-width: 300px;
}
.product-right-column {
    flex: 1;
    min-width: 300px;
}
.product-full-width {
    flex-basis: 100%;
}
.summary entry-summary .cart {
    margin: 25px 0; /* 给购物车表单增加上下边距 */
}

高級優化技巧與最佳實踐

基本嘅佈局調整只係開始,以下技巧可以進一步提升頁面嘅轉化效果。

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

用動作鈎子增減內容

WooCommerce 模板入面有好多動作鈎子(Action Hooks),你可以用佢哋喺特定位置加嘢或者刪嘢,唔使直接改模板文件。譬如,你想喺產品價錢下面加個「存貨緊張」嘅提示,就可以喺子主題嘅 functions.php 入面加:

add_action( 'woocommerce_single_product_summary', 'custom_stock_notice', 15 );
function custom_stock_notice() {
    global $product;
    if ( $product-&gt;get_stock_quantity() }}get_stock_quantity() &gt; 0 ) {
        echo '<p class="low-stock" style="color:#d33;">🔥 库存紧张,仅剩 '. $product-&gt;get_stock_quantity() .' 件!</p>';
    }
}

呢度,woocommerce_single_product_summary 係鉤名,15 係優先級(數字越細執行越早),用嚟控制輸出位置。

針對唔同產品類型用唔同模板

你可以利用 WooCommerce 嘅條件判斷,為簡單嘅、可變嘅、分組嘅外部/關聯產品等唔同類型提供差異化嘅展示。例如,喺自訂嘅 single-product.php 中,可以咁樣判斷:

global $product;
if ( $product->is_type( 'variable' ) ) {
    // 加载为可变产品优化的模板部分
    wc_get_template_part( 'single-product/add-to-cart', 'variable' );
} else if ( $product->is_type( 'grouped' ) ) {
    // 加载为分组产品优化的模板部分
    wc_get_template_part( 'single-product/add-to-cart', 'grouped' );
} else {
    // 加载简单产品的默认表单
    wc_get_template_part( 'single-product/add-to-cart', 'simple' );
}

確保流動端響應式體驗

喺自訂佈局時,必須測試流動端視圖。使用上面示例嘅 Flexbox 佈局本身具有較好嘅響應性。當屏幕變窄時(例如喺流動裝置上),你可能希望將兩欄堆疊為一欄。可以透過媒體查詢實現:

@media (max-width: 768px) {
    .custom-product-container {
        flex-direction: column;
        gap: 20px;
    }
}

摘要

自訂 WooCommerce 產品頁面模板係一個由標準化走向個人化、由展示轉向轉化嘅關鍵步驟。透過理解 WooCommerce 嘅模板層級並採用子主題覆蓋嘅安全策略,你可以自由重新編排頁面元素,突出關鍵資訊同購買號召。無論係透過簡單嘅鉤子函數添加提示,定係徹底重寫模板檔案創建獨特佈局,其核心目的都係減少用戶嘅決策摩擦,引導佢哋順暢完成購買流程。記住,喺每一次修改後,務必進行跨裝置同瀏覽器嘅測試,並利用數據分析工具(例如熱力圖)來驗證改動嘅實際效果,持續優化你嘅產品頁面。

常見問題

自訂模板後,WooCommerce 插件更新會唔會覆蓋我嘅修改?

唔會,前提係你採用咗正確方法。如果你係透過喺(子)主題嘅 woocommerce 目錄中創建副本檔案來覆蓋預設模板,咁 WooCommerce 插件嘅更新就完全唔會影響你嘅自訂檔案。呢個係因為 WooCommerce 喺加載模板時,會優先使用主題中嘅版本。呢個係最安全嘅做法。

點樣先可以淨係對某個特定產品類別應用自訂模板?

呢個需要一啲額外嘅程式碼邏輯。一種方法係喺你嘅自訂模板檔案(例如 single-product.php)入面用條件判斷。首先,攞到當前產品嘅類別,然後根據結果包含唔同嘅模板部份。例如:if ( has_term( 't-shirts', 'product_cat' ) ) { ... }。另一種更加靈活嘅方式係用「自訂模板分配」方法創建多個模板檔案,然後透過第三方插件或者自訂欄位為唔同類別嘅產品揀唔同嘅模板。

修改咗模板但係前台冇變化,點樣排查?

請跟住以下步驟檢查:首先,確保你修改嘅係正確嘅檔案,而且檔案喺活動(子)主題嘅正確路徑下(例如 your-theme/woocommerce/single-product.php)。其次,清除WordPress同你嘅瀏覽器快取,有時舊嘅快取檔案會影響新程式碼嘅載入。然後,檢查有冇其他外掛(特別係快取或優化外掛)或者主題功能覆蓋咗你嘅修改。最後,打開瀏覽器嘅開發者工具(F12)睇吓控制台有冇JavaScript錯誤,或者檢查你加入嘅CSS選擇器係咪正確應用。

可唔可以用自訂欄位喺產品頁加多個額外資訊展示區?

當然可以,呢個係好常見嘅需求。首先,你需要用插件(例如 Advanced Custom Fields)或者代碼為「產品」文章類型創建一個自訂欄位,例如「產品亮點」。然後,喺你嘅自訂產品模板入面,喺你想顯示呢個資訊嘅位置(例如,喺產品摘要之後、標籤頁之前),透過調用類似 echo get_field('product_highlights'); 嘅代碼嚟輸出呢個欄位嘅值。咁樣就實現咗喺模板入面動態展示後台編輯嘅額外資訊。