最後更新:2026/10/13
做一份電子書、一套簡報範本、一組插畫素材,放在網站上讓人付款下載,是很多台灣創作者的第一個自有產品。做一次可以賣很多次,不用包貨、不用跑超商。
WooCommerce 本身就能賣數位商品,不用另外裝外掛。不過有幾個地方第一次設定很容易踩到:檔案放錯位置被人直接抓走、EPUB 傳不上去、客人付了錢卻要等你手動按「完成」才能下載。這篇照設定的順序一次講清楚。
不想自己改?把這篇交給 AI
把這篇的網址(或全文)連同下面這段話貼給 AI:
我的網站是 WordPress,有裝 WooCommerce。我想照下面這篇文章,設定可下載的數位商品(電子書、講義、素材),檔案不能被人直接抓走,付款後客人可以下載。
請先問我:我的主機是 Apache 還是 Nginx、檔案是什麼格式、客人用什麼方式付款。
問清楚之後,再一步一步告訴我:要用哪一段程式碼、貼在哪裡、哪些地方要換成我自己的資料,以及改完怎麼測試。
如果文章的做法不適合我的網站,請直接告訴我原因和替代做法。
文章:(貼上這篇的網址,或整篇內容)
改之前先備份,密碼不要貼給 AI。
建立一個可下載商品
新增商品時,在「商品資料」那一列勾「虛擬」和「可下載」。虛擬代表不用寄送,結帳時不會要求填運送地址,也不會算運費;可下載代表付款後客人可以下載檔案。
勾完之後下方會出現「可下載檔案」:按「新增檔案」,填檔案名稱(客人在下載清單看到的名字),再按「選擇檔案」上傳。用這個按鈕上傳的檔案,會放進 uploads/woocommerce_uploads 這個專用資料夾,而且檔名後面會自動加上 6 個隨機字元,別人很難猜到網址。這一點很重要,不要把檔案先傳到「媒體」再把網址貼過來,媒體庫的檔案誰拿到網址都能下載。
同一區還有「下載限制」和「下載到期日」。下載限制是一個客人最多能下載幾次,到期日是購買後幾天內可以下載。電子書建議次數給寬鬆一點,例如 5 次,客人換手機才不會來找你;到期日可以留空(永久),或設 365 天。
下載設定:在「WooCommerce > 設定 > 商品 > 可下載商品」
這一頁有幾個選項值得看一下:
「檔案下載方式」預設是「強制下載」,檔案會經過網站轉交給客人,檔案實際放在哪裡不會露出來。另一個「只重新導向(不安全)」會直接把客人帶到檔案網址,拿到網址的人都能下載,賣付費內容不要選它。
「下載前需登入」勾起來,客人要登入帳號才能下載,適合有會員的網站;如果你允許訪客結帳,這個選項對訪客訂單沒有作用。「付款後賦予商品下載權限」預設是勾的,意思是訂單一變成處理中就能下載,不用等到已完成。
「檔案名稱」底下的「為檔案名稱附加唯一字串以確保安全性」也建議維持勾選,就是前面說的 6 個隨機字元。它只影響之後上傳的檔案,已經傳上去的不會改名。
主機是 Nginx 的話,多做一件事
woocommerce_uploads 資料夾的保護,是靠資料夾裡的一個 .htaccess 檔告訴主機「不准直接讀這裡的檔案」。這個檔案只有 Apache 主機看得懂;很多主機用的是 Nginx,會直接忽略它。我們的測試站也是這樣,資料夾裡的檔案用網址打得開。
所以如果你的主機是 Nginx,或你不確定,請主機商幫你加一條規則,禁止外部直接讀取 /wp-content/uploads/woocommerce_uploads/。在那之前,檔名的隨機字元是最後一道防線,這也是它要維持勾選的原因。
檔案類型被擋:讓 EPUB 傳得上去
PDF、ZIP、MP3、MP4 這些常見格式,WordPress 本來就允許上傳。賣電子書的人常遇到的是 EPUB:在我們的測試站上傳 EPUB,會看到「很抱歉,目前的登入身分沒有上傳這個檔案類型的權限」。加這段程式碼就能上傳:
// 允許上傳電子書(EPUB)
add_filter('upload_mimes', function ($mimes) {
$mimes['epub'] = 'application/epub+zip';
return $mimes;
});
upload_mimes 是 WordPress 允許上傳的副檔名清單,我們在清單裡加上 epub 和它的檔案類型。WooCommerce 判斷可下載檔案的類型,用的也是這份清單,所以加完之後商品也能用這個檔案。程式碼放在 Code Snippets 這類外掛或子主題,放法見〈WooCommerce 結帳頁改成台灣習慣〉。
網路上有些教學會叫你在 wp-config.php 打開「允許上傳任何檔案」。那等於把所有類型都放行,包括可以執行的程式檔,風險太大。需要哪一種就加哪一種,比較安全。
檔案放在別的地方:核准的下載目錄
如果你的檔案放在雲端空間或另一個網址,把網址貼進「檔案網址」時,可能會看到「找不到檔案,或並非位於核准的目錄中」。這是 WooCommerce 的保護機制:只有列在「核准的下載目錄」裡的位置,才能當作可下載檔案。到「WooCommerce > 設定 > 商品 > 核准的下載目錄」新增那個網址的開頭,存檔後就能用了。
付款後,訂單會自動完成嗎?
會,但有條件。我們在測試站做了兩張訂單,用同一種付款完成的流程:只有電子書的訂單,付款後直接變成「已完成」;電子書加一盒手工皂的訂單,停在「處理中」,等你出貨後手動改成已完成。
WooCommerce 的規則是:訂單裡每一件都是「虛擬又可下載」的商品,付款完成就自動完成;只要有一件要寄送,就停在處理中。不過不用擔心客人等太久,前面說的「付款後賦予商品下載權限」預設是勾的,處理中的訂單一樣可以先下載。
要注意,這裡的「付款完成」指信用卡這類會自動回報的付款方式。銀行轉帳的訂單會停在「訂單保留」,要你確認收款、改成處理中之後,客人才能下載。
只是想放免費檔案?
如果你要的是「留下 Email 就能下載講義」,不需要購物車和結帳流程,用表單加自動回信,或下載管理類的外掛會更簡單。WooCommerce 適合的是要收錢、要管理訂單和下載次數的情況。
數位商品最大的好處是做一次賣很多次,前提是交貨流程要穩:客人付完錢,馬上拿得到;沒付錢的人,拿不到。把這幾個設定弄好,你就可以放心把時間花在下一個作品上。怎麼把一份內容延伸成可以一直賣的產品,可以參考〈一支短影音也能變成資產〉。
如果你想做一個能賣課程、電子書、素材的網站,可以先看〈IG 帳號不是你的資產〉想想網站要做到什麼。MIMI 專做客製化網頁設計,購物車電商網站、會員網站都能照你的產品規劃。MIMI 提供台灣網頁設計服務,各縣市的創作者都可以用電話、Email 和設計師討論;費用可以先看首頁的製作費用參考,歡迎聯絡 MIMI。
