顧客在你的 WooCommerce 商店下單後,第一個接觸到的「售後體驗」往往不是包裹,而是那封訂單通知信。預設的 WooCommerce 訂單通知信能動,但長相陽春:灰底、系統字、頁首沒有 Logo,跟你花心思設計的網站完全是兩種調性。更麻煩的是,很多店家根本搞不清楚每封信到底寄給誰、哪幾封該開、主旨能不能改,等到顧客抱怨「沒收到出貨通知」才回頭翻設定。
這篇會把 WooCommerce 訂單通知信講清楚:總共有哪幾種信、各自的寄送對象是誰、後台內建能改到什麼程度,以及當內建設定不夠用時,該用範本覆寫還是 hook、什麼情況直接上外掛比較省事。看完你會知道怎麼把這些信改成跟品牌一致的樣子,而且不會在更新後被打回原形。
WooCommerce 訂單通知信有哪幾種?分別寄給誰?
WooCommerce 內建的訂單通知信大致分成兩類收件對象:一類寄給「商家/管理員」,提醒你有訂單要處理;另一類寄給「顧客」,告知訂單進度。進到後台「WooCommerce」的「設定」裡點開「電子郵件」頁籤,就會看到完整清單,每一列都標示了這封信會在什麼時機觸發、預設收件者是誰。
預設的通知信通常有十一種上下,常見的搭配如下:
| 通知信 | 觸發時機 | 預設收件者 |
|---|---|---|
| 新訂單 | 顧客成功下單 | 管理員 |
| 已取消的訂單 | 訂單被取消 | 管理員 |
| 失敗的訂單 | 付款失敗 | 管理員 |
| 訂單處理中 | 訂單進入處理中狀態 | 顧客 |
| 訂單已完成 | 訂單標記為完成 | 顧客 |
| 已退款的訂單 | 訂單退款 | 顧客 |
| 顧客發票/訂單明細 | 手動寄送或待付款 | 顧客 |
| 顧客備註 | 你新增了訂單備註給顧客 | 顧客 |
| 重設密碼 | 顧客要求重設 | 顧客 |
| 新帳號 | 顧客註冊帳號 | 顧客 |
收件者顯示為「顧客」的信,會自動寄到顧客下單或註冊時填寫的電子信箱,你不需要也無法手動指定收件地址;收件者是管理員的信,地址才開放自訂。實務上最容易被忽略的是「訂單處理中」這封:它是顧客付款完成後收到的第一封確認信,等於電商版的「收到訂單囉」,一定要確認它有啟用。
訂單通知信的寄送對象怎麼設定?
寄給管理員的那幾封信,收件地址在每封信的設定頁裡都有一個「收件者」欄位可以改。預設帶的是你安裝 WordPress 時填的網站管理信箱,如果那不是你實際在看訂單的信箱,第一件事就是把它換掉。
如果有多人要同時收到新訂單通知(例如老闆加上倉管),在收件者欄位用半形逗號把多個信箱串起來就行,像是 owner@example.com, warehouse@example.com。WooCommerce 會把通知同時寄給所有列出的地址,避免單一窗口漏接訂單。
寄件者資訊則是全站共用的,設定位置在電子郵件頁籤下方的「寄件者選項」。這裡能改兩個東西:
- 寄件者名稱:顯示在顧客收件匣寄件人欄位的名字,建議直接填你的品牌名或店名,而不是預設的 WordPress 站名,顧客一眼就認得出是誰寄的。
- 寄件者地址:信件的來源地址。這個地址最好跟你網站的網域一致(例如
service@你的網域),用免費信箱或跟網域無關的地址當寄件人,比較容易被收件方判定成可疑信件。
要注意的是,寄件者名稱與地址是套用到所有通知信的,沒辦法單獨針對某一封改寄件人。若真的需要不同部門用不同寄件地址,得靠後面會談到的 hook 或外掛處理。
客製訂單通知信的三個層級怎麼選?
WooCommerce 訂單通知信的客製,可以由淺到深分成三個層級,需求到哪裡就用到哪裡,不必一開始就動程式碼。
- 第一層、後台內建設定:純品牌化用。改 Logo、配色、頁尾文字、信件主旨與標題、收件者,全部在後台點一點就好,不碰任何檔案。九成的店家停在這層就夠了。
- 第二層、範本檔覆寫:當你想改的是信件的「版面結構」而不只是顏色,例如調整訂單明細表格的欄位、搬動區塊位置、加一段固定的版面內容,就要把範本檔複製到子主題裡改 HTML。
- 第三層、用 hook 寫程式:當你要塞的內容跟「這筆訂單」有關,例如依付款方式顯示不同匯款說明、加上自訂欄位、針對特定商品附上使用教學連結,這種動態邏輯就得用 PHP hook 來掛。
判斷原則很簡單:只是想讓信變好看,留在第一層;想改死板的版面骨架,用第二層;要因訂單內容而變化,才上第三層。層級越高彈性越大,但維護成本與出錯風險也跟著上升。
後台內建設定能改哪些品牌化元素?
第一層的內建設定,雖然不碰程式碼,能改的品牌化元素其實不少,集中在電子郵件頁籤下方的「電子郵件樣板」區塊。
頁首圖片:這是讓信件品牌化最有感的一項。欄位要填的是圖片網址,不是直接上傳,所以先把 Logo 上傳到媒體庫,複製圖片網址(格式類似 https://你的網域/wp-content/uploads/年份/月份/檔名.png)再貼進來。建議用透明背景的 PNG,寬度抓在 600 像素以內,信件在手機上才不會被撐爆。
配色:樣板提供幾個顏色欄位,點開色塊就能用調色盤選色,主要包含這幾項:
- 基本顏色:信件頂部色帶與按鈕的主色,通常設成品牌主色。
- 背景顏色:信件最外層的底色。
- 內文背景顏色:實際放內容那塊區域的底色,多半維持白色或淺色,文字才讀得清楚。
- 內文文字顏色:段落文字的顏色。
頁尾文字:顯示在每封信最底部,適合放版權聲明、客服信箱或退訂提醒,欄位支援基本的 HTML 元素。
主旨與標題:在每一封信各自的設定頁裡,可以改信件主旨與信中的大標題,而且支援預留位置代碼動態帶入資料。常用的代碼有 {site_title}(網站名稱)、{order_number}(訂單編號)、{order_date}(訂單日期),例如把新訂單主旨設成 [{site_title}] 新訂單 #{order_number},顧客收到時就會自動代換成實際的店名與單號。
改完別急著關掉,樣板區塊有一個「預覽電子郵件樣板」的連結,點下去能先看套用後的外觀,確認顏色搭起來不會太刺眼再存檔。
子主題覆寫範本檔的正確做法是什麼?
當內建設定改不到你要的版面,就進到第二層、覆寫範本檔。WooCommerce 把所有信件的版型放在外掛目錄底下的 wp-content/plugins/woocommerce/templates/emails/,每一種信對應一支 PHP 檔,例如新訂單給管理員的是 admin-new-order.php,顧客的處理中通知是 customer-processing-order.php。
關鍵紅線:絕對不要直接改外掛目錄裡的原始檔。WooCommerce 一更新,整個外掛資料夾會被新版覆蓋掉,你的修改全部消失,嚴重一點還可能因為版本不相容讓網站出錯。
正確做法是把要改的範本複製進「子主題」,路徑規則是保留原本的資料夾層級、但拿掉 templates 這層。以覆寫新訂單通知為例:
- 來源:
wp-content/plugins/woocommerce/templates/emails/admin-new-order.php - 目的地:
wp-content/themes/你的子主題/woocommerce/emails/admin-new-order.php
複製過去之後,WooCommerce 就會優先讀子主題裡這支檔案,你在副本上改 HTML,原始檔完全不動,外掛更新也不會洗掉你的版本。這種「升級安全」的覆寫方式,是官方文件明確建議的做法。
唯一的小代價是,當 WooCommerce 核心範本改版時,你覆寫的副本不會跟著更新,系統狀態報告偶爾會跳出「範本版本過舊」的提示。看到時對照官方更新內容,把副本同步一下即可,不影響正常運作。為什麼要用子主題而不是直接放主題?因為主題本身改版同樣會被覆蓋,子主題才是真正不受上游更新影響的安全區。
用 hook 加內容的進階做法怎麼運用?
第三層的 hook,是在不改版型檔的前提下,把內容「掛」進信件特定位置的機制。打開任何一支信件範本,會看到裡面散布著 do_action 與 do_action 對應的位置,這些就是預留的掛點。好處是你只要把程式碼片段加進子主題的 functions.php(或程式碼片段管理外掛),就能在指定位置插入內容,連範本檔都不用複製。
幾個最常用的掛點,依信件由上到下的位置排列:
woocommerce_email_header:信件頁首區。woocommerce_email_before_order_table:訂單明細表格之前,付款方式為轉帳、貨到付款時的匯款說明就掛在這裡。woocommerce_email_order_details:訂單明細表格本身。woocommerce_email_order_meta:訂單明細下方的附加資料區。woocommerce_email_customer_details:顧客與地址資訊區。woocommerce_email_footer:信件頁尾區。
實際寫法是用 add_action 把自訂函式掛到目標位置,例如想在訂單明細後面加一段話,骨架長這樣:
add_action( 'woocommerce_email_order_details', 'my_custom_woo_function' );
function my_custom_woo_function( $order, $sent_to_admin, $plain_text, $email ) {
// 你的內容寫這裡,$order 帶的就是這筆訂單的資料
}
函式接到的 $order 物件裝著這筆訂單的完整資料,$sent_to_admin 能判斷現在這封是寄給管理員還是顧客,$email 則告訴你是哪一種通知信。靠這幾個參數,你就能寫出「只在出貨通知、只對顧客、且付款方式是轉帳時」才出現的客製內容。要提醒的是,hook 適合「加內容」與「依邏輯顯示」,但它改不了範本既有的文字結構,那種需求還是得回到第二層覆寫範本。
該用外掛還是手動改 WooCommerce 通知信?
如果你會寫一點 PHP、改動範圍也不大,手動覆寫範本加 hook 是最乾淨、零外掛負擔的做法。但對不想碰程式碼、又想要拖拉式排版自由度的店家,專門的電子郵件客製外掛會省下大量時間。
市面上常見的選擇像 YayMail、YITH Email Templates、WebToffee 這類外掛,共同特點是提供視覺化編輯器,能直接拖拉調整頁首、訂單表格、地址區塊、按鈕等元件,把 WooCommerce 預設的十多種信件模板都納入可視化客製範圍,不用記掛點名稱也不用改檔。
兩種路線的取捨可以這樣看:
- 手動覆寫加 hook:免外掛、不增加網站負載、改動精準,但需要工程能力,且每次調整都得進程式碼。
- 客製化外掛:上手快、所見即所得、非技術人員也能維護,代價是多一個要長期更新與相容的外掛,部分進階功能可能要付費版。
選哪個沒有標準答案,取決於你的技術能力與改動頻率。如果只是一次性把信件品牌化好就很少再動,手動做完最省事;如果行銷想常常換信件版面、辦活動加 banner,外掛的彈性會更實用。
上線前一定要測什麼?
訂單通知信改完,最容易出包的不是長相,而是「到底有沒有寄出去、有沒有進到收件匣」。所以最後一步一定要實際測一輪:拿不同付款方式各下一筆測試訂單,走完從下單、處理中到完成的完整流程,確認每個狀態對應的信都正確寄出、收件者沒填錯、主旨代碼有正常代換。
寄達率本身是另一個獨立的課題。由 WordPress 主機直接寄出的信,常常因為缺少寄件網域的驗證設定而被收件方丟進垃圾信,甚至直接擋掉。如果發現顧客頻繁反映收不到信,多半不是 WooCommerce 設定錯了,而是寄信管道的問題,這部分通常要搭配專門的寄信服務或網域驗證來處理,已經超出通知信客製本身的範圍。
把訂單通知信做好,本質上是在補齊顧客體驗的最後一塊。先用後台內建設定把品牌化的門面立起來,再依實際需求決定要不要往範本覆寫或 hook 深入,最後務必親自下單測一遍。先確認信都寄得出去、收得到,再回頭雕版面細節,順序對了,這些信才會真正替你的商店加分。