默认的可下载商品设置适合多数商家,但有些商店需要不同配置。本文介绍 WooCommerce 可下载商品的设置,包括文件下载方式、上传保护、存储选择,以及顾客如何接收和访问下载内容。
常规设置
配置 WooCommerce 如何向顾客提供下载文件:
- 进入“WooCommerce → Settings → Products → Downloadable products”。
- 在“File download method”下拉框中选择文件下载方式。
不同方式的文件交付机制如下:
- Force downloads,强制下载:通过 PHP 提供文件,防止直接链接访问。文件较大或服务器性能不足时,下载可能超时;此时应升级服务器,或改用重定向方式。该方式要求 PHP 的
allow_url_fopen设置为 On。可以按照 PHP 错误日志指南 创建phpinfo()页面,安装 WordPress.org 中的 phpinfo 插件,或联系主机服务商确认。 - X-Accel-Redirect/X-Sendfile:由 nginx 或 Apache 直接向顾客交付文件。服务器必须安装并启用相应模块,选择前应向主机服务商确认。文件通过
.htaccess保护,并直接由服务器发送,兼具良好性能与安全性。 - Redirect only (insecure),仅重定向,不安全:顾客被直接重定向到文件 URL。任何持有 URL 的人都能访问,即使没有登录。这意味着购买者可以把链接分享给未购买的人。
注意:选择强制下载或 X-Accel-Redirect/X-Sendfile 后,可以启用“Allow using redirect mode (insecure) as a last resort”,在所选方法无法交付文件时回退到重定向。它具有与“仅重定向”相同的风险,但如果资源分布在不同平台、部分平台不兼容首选方式,这个选项可能有用。
接下来选择访问限制:
- 启用“Downloads require login”,要求顾客先登录再下载。该选项要生效,必须禁用访客结账。
- 启用“Grant access to downloadable products after payment”,让顾客在订单进入“Processing”时就能下载,不必等到“Complete”。同时销售实体与数字商品时,这很有用,顾客无需等待实体商品送达才能访问数字内容。
然后决定是否保留“Append a unique string to filename for security”。该选项默认启用,建议保留以增强安全性。如果上传目录已通过其他方式妥善保护,则不是必需。开关变化不会影响此前上传的文件或链接,只影响此后上传的文件。
最后点击“Save changes”。

更多设置位于“WooCommerce → Settings → Products → Approved download directories”,即页面顶部“Downloadable products”旁边的标签。对于允许店铺经理或其他用户编辑商品的网站,这些设置尤其有用。详情见 批准的下载目录文档。
保护上传目录
WooCommerce 默认添加 .htaccess 文件来保护 wp-content/uploads/woocommerce_uploads 目录,但这并不能保证在所有服务器配置下都有效。下面是可以采取的其他措施。
NGINX 服务器配置
如果使用 NGINX,并选择 X-Accel-Redirect/X-Sendfile 或强制下载,需要修改服务器配置,才能正确保护文件。具体操作见 WooCommerce 开发者文档中的 NGINX 上传保护。
在文件名后追加唯一字符串
如前所述,WooCommerce 默认在上传文件名后追加唯一字符串,使未获授权的访问者更难猜出下载 URL。

存储文件与下载内容
文件存放位置取决于偏好与安全需求。WooCommerce 只需要有效的外部文件 URL,因此有多种存储选择。
云存储
可以将文件存储在云端,只要向 WooCommerce 提供指向文件的外部 URL。但某些云存储服务,例如 Google Drive,只有选择“Redirect only (insecure)”时才能工作。不同方式的含义见前面的常规设置。
保护通过媒体库上传的文件
通过 WordPress 媒体库而非 WooCommerce 上传文件时,任何知道直接 URL 的人都能访问。WordPress 媒体库是公开的,因为它存放文章与页面使用的全部图片和文件。
要防止未授权访问,应从 WooCommerce 的“编辑商品”页面上传文件,不要从媒体库选取。这样文件会放入不公开访问的 woocommerce_uploads 目录。
支持的扩展名
WooCommerce 支持 WordPress 允许的相同文件扩展名。完整列表见 WordPress Codex:上传文件。
最大文件大小
WooCommerce 不限制文件大小,但服务器很可能有自己的限制。需要提高上限时,请联系主机服务商。
顾客购买可下载商品后的体验
顾客下单后,会收到包含已购买文件下载链接的邮件。如果顾客在网站有账户,也可以在“我的账户 → 下载”中找到链接。具体何时获得访问权限,取决于设置:
- 启用“付款后授予可下载商品访问权限”后,顾客可以在订单接收页面、订单邮件,或已有账户的“我的账户 → 下载”页面下载。
- 未启用时,必须等订单状态变为“Complete”。商品同时标记为“虚拟”和“可下载”时,WooCommerce 自动设置该状态;若只标记为“可下载”,则需要手动将订单标记为完成。
关于 PayPal Standard:它已弃用,新商店默认不加载。如果已有商店仍然启用,IPN 即时付款通知可能延迟,导致订单接收页面暂时没有下载链接。建议改用 PayPal Payments。继续使用 Standard 时,请按照下面步骤启用 PDT 付款数据传输:
- 在 PayPal 商业账户中,进入“My selling tools”,点击“Website preferences”旁的“Update”。
- 启用“Auto Return for Website Payments”,返回 URL 填写
https://yoursite.com/checkout/order-received/,并将域名替换为商店地址。 - 启用“Payment Data Transfer”,复制 PayPal 提供的身份令牌。
- 在 WordPress 中进入“WooCommerce → Settings → Payments”,找到 PayPal Standard,点击“Manage”,把令牌填入“PayPal identity token”,保存更改。
订单确认邮件
订单处理、付款确认后,顾客会收到带有可点击下载链接的订单确认邮件。

如果“Completed order”邮件没有下载链接,可能存在数据库问题。排查方法见 已完成订单邮件缺少下载链接指南。
管理包含可下载项目的订单
可以从订单页面查看和修改顾客对已购买数字商品的访问权限:
- 进入“WooCommerce → Orders”,选择订单。
- 点击编辑页面右上角的“Screen Options”。
- 勾选“Downloadable product permissions”,显示相应元框。
- 向下滚动到该元框,查看可用下载项目,以及顾客对各文件的访问次数。
- 在这里可以撤销访问、授予新的下载权限,或关闭订单。

注意:从 WooCommerce 11.1 开始,该元框默认隐藏。订单状态变为“Processing”或“Completed”时,会自动授予行项目下载权限,因此多数商店无需打开。需要手动调整时,通过“Screen Options”显示即可。这一变化只影响可见性,不会撤销或修改任何下载权限。
顾客购买后修改下载文件
商品已经有人购买后,修改下载文件会产生以下不同效果:
- 编辑已有下载行,包括修改名称、URL 或两者,会更新历史购买记录中的下载链接,但保留原过期日期和剩余下载次数。
- 添加新的下载项不会影响历史订单,只有新的购买者会获得它的下载权限。
如果商品承诺终身访问以后添加的所有下载内容,订阅或会员扩展可能更适合。也可以将文件合并为一个 ZIP 压缩包。若要恢复以前“新文件自动授权给历史购买者”的行为,GitHub 上提供了相应插件。
下载日志与报告
WooCommerce 使用唯一 ID 跟踪和记录数字商品下载。可在 WooCommerce Analytics 的“Downloads”报告中查看下载活动。
问题与支持
本文介绍免费的 WooCommerce 核心插件,支持渠道为 WordPress.org 社区论坛。搜索论坛通常可以找到已有答案。还没有论坛账户时,可查看 注册说明。
如需扩展功能,可查看 WooCommerce Marketplace;持续高级支持或定制开发可聘请 Woo Agency Partner;开发自己的集成或扩展时,请查阅 开发者资源。没有找到需要的信息,可以通过原文底部反馈按钮告知团队。
原文:Digital/Downloadable Product Guide。作者/维护者:WooCommerce 文档团队。本文为原文的中文译文;代码保留原文内容。











暂无评论内容