在使用WordPress架設網站時,如果你銷售實物的同時還提供電子文件,譬如賣實體書的同時還提供電子書,又或是像我一樣銷售主題、外掛、模板,那就能用上WooCommerce的可下載產品功能了。本篇是WooCommerce教學系列之一,將詳細介紹WooCommerce如何設置與添加可下載產品。
可下載產品的功能設置
- 進入:WooCommerce > Settings > Products > Downloadable Products.
- 從下拉列表中選擇文件下載方法。
- Force Downloads/強制下載:使用PHP強制下載文件。要確保文件不被直接鏈接,可以使用強制下載。文件由PHP提供。但是,如果您的文件很大,或者服務器的處理能力不足,您可能會在下載過程中遇到超時下載失敗問題。在這種情況下,您需要查看您的服務器或使用重定向方法。
- X-Accel-Redirect/X-SendFile:文件下載由服務器(nginx/Apache)處理。此方法要求在服務器上安裝並啟用X-Accel-Redirect/X-SendFile模塊。在使用此方法之前,請確認主機已安裝了這兩個模塊的任一。這是最可靠的方法,因為文件是直接提供給客戶的,並為您提供最佳性能。文件也受到.htaccess文件的保護,使其更安全。
- Redirect only/僅重定向(不安全):當用戶下載文件時,他們點擊的鏈接將重定向到該文件。使用此方法意味著您的文件將不受保護,任何擁有文件鏈接的人都可以訪問該文件,即使他們沒有登錄。
- 選擇訪問限制級別(Access Restriction)。
- 如果希望用戶登錄後才能下載文件,請勾選“Downloads Require Login/需要登錄才能下載”複選框,那此時你需要禁用遊客結帳功能。
- 如果您希望在處理訂單而不是完成訂單時授予對文件的訪問權限,請勾選“Grant access to downloadable products after payment/付款後授予對可下載產品的訪問權限”複選框。
- 如果要確保增強文件的安全性,請選擇“Append a unique string to filename for security/將唯一字符串附加到文件名以確保安全性”。建議將其勾選,並且默認就是勾選的。但如果某人已正確配置其上傳目錄,則不需要此操作。當您啟用它時,不會影響任何文件名或鏈接,只有在選中此設置時上傳的文件才會添加唯一的字符串。此設置完全向後兼容,可以隨意關閉或打開,而不會影響任何已生成的文件鏈接。
- 保存配置
保護您的文件上傳目錄
默認情況下,WooCommerce引入了一個.htaccess文件來保護您的wp-content/uploads/wooCommerce_uploads目錄,但是,這並不能保證保護該目錄,因為一切都取決於服務器的配置。
使用Nginx服務器?
如果您的站點使用nginx服務器以及x-accel-redirect/x-sendfile或force downloads下載方法,則有必要添加此配置以獲得更好的安全性:
# Protect WooCommerce upload folder from being accessed directly. # You may want to change this config if you are using "Redirect Only" method for downloadable products. # Place this config towards the end of "server" block in nGinx configuration. location ~* /wp-content/uploads/woocommerce_uploads/ { if ( $upstream_http_x_accel_redirect = "" ) { return 403; } internal; }
如果您使用的是僅重定向下載方法,那就使用下面的配置為:
# Protect WooCommerce upload folder from being accessed directly. # You may want to change this config if you are using "X-Accel-Redirect/X-Sendfile" or "Force Downloads" method for downloadable products. # Place this config towards the end of "server" block in nGinx configuration. location ~* /wp-content/uploads/woocommerce_uploads/ { autoindex off; }
如果您不知道您使用的是什麼樣的Web服務器,請聯繫您的主機商諮詢。
創建可下載的產品
可下載的簡單產品
接下來添加可下載的簡單產品
- 進入WooCommerce>Products>Add Product(WooCommerce>產品>添加產品),按照添加和管理產品中所述添加簡單產品。
- 然後勾選downloadable/可下載複選框:勾選此框後,將出現其他選項:Downloadable Files/可下載的文件、Download Limit/下載限制次數、Download Expiry/可下載有效期。
- 選擇“Add file/添加文件”按鈕,然後命名該文件。輸入文件的URL,或者點擊“choose file/選擇文件”按鈕以插入媒體庫中的現有文件或上傳新文件。上傳文件並單擊“插入”以設置每個可下載文件的URL。
- 輸入“Download limit/下載限制”(可選)。一旦用戶達到此限制,他們將無法再下載該文件。
- 輸入“Download expiry/下載到期”(可選)。如果您定義了天數,則下載鏈接將在該天數後過期。
- 編輯完產品後,請按“發布”或“更新”按鈕
可下載的可變產品
可變產品也可以有可下載的變體。添加變體時,勾選“可下載”複選框就能看到:Downloadable Files/可下載的文件、Download Limit/下載限制次數、Download Expiry/可下載有效期。
將可下載產品和虛擬產品結合
如果您勾選“可下載”複選框,則產品可以有庫存並被視為實物產品。這使您可以同時銷售包含可下載文件的實物產品,譬如實物書+電子書。
如果要添加/銷售沒有實務的可下載產品,請啟用“Virtual/虛擬”選項。
可下載產品的訂購流程
可下載產品的訂購流程如下:
- 客戶將可下載產品添加到購物車中。
- 客戶結帳並付款。
- 付款後,根據您的設置,會有如下幾種情況:
- 如果訂單中的所有商品都是可下載的或虛擬的,則訂單狀態是已完成。
- 如果商品包含了實物和可下載的或虛擬的商品,則訂單狀態是正在處理中,直到您處理訂單。
- 一旦訂單是已完成狀態,或者,如果你啟用了“付款後授予對可下載產品的訪問權限”選項,客戶可以:
- 獲得下載權限
- 在訂單頁面上看到下載鏈接
- 在客戶收到的訂單郵件中看到下載鏈接
- 如果客戶已登錄,可以在“我的帳戶”-“下載”頁面上查看到下載鏈接
然後,客戶可以下載文件。
收據/訂單郵件
當客戶支付訂單後,一經你確認已完成訂單,客戶將收到訂單收據,其中包含下載鏈接。
如果已完成的訂單郵件中不包含文件下載鏈接,那很可能是你的網站數據庫出問題了,請查看這篇文章來修復它:https://docs.woocommerce.com/document/completed-order-email-doesnt-contain-download-links/
管理具有可下載產品的訂單
- 進入:WooCommerce>Orders,然後點選你要查看或編輯的訂單。
- 向下滾動頁面到“Downloadable Product Permissions(可下載產品權限)”欄目,其中展示了可下載的內容以及客戶訪問該內容的次數。
- 你還可以撤銷訪問權限、授予對新的產品的下載權限。
下載日誌/報告
可下載產品的下載具有唯一的ID,這些ID將被跟踪並記錄在報告中。請在WooCommerce>Reports中查看。
常見問題
如果我在客戶購買後修改可下載產品的文件,會發生什麼情況?
- 修改文件(譬如更改名稱、文件URL)會更新已購買客戶的下載鏈接,但下載的到期日期不變。
- 添加新的下載文件不會影響已有的訂單,只有新買的人才能獲得下載許可。
如果您的產品被授予“終身訪問”或類似於一個產品有很多下載內容,那訂閱或會員類產品則可能更合適。您還可以將文件合併到一個壓縮包(ZIP)中。如果你想讓老訂單獲得新下載文件的權限,可以試試這個外掛:https://github.com/woocommerce/grant-download-permissions-for-past-woocommerce-orders
修改產品後,老訂單是否可以下載新文件?
不能。