在使用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
修改产品后,老订单是否可以下载新文件?
不能。
本文由LOYSEO基于一下资料进行翻译、润色:https://docs.woocommerce.com/document/digital-downloadable-product-handling/