Woocommerce 更改订单下载文件

Woocommerce change order download files

我正在尝试操纵订单中文件的下载 URL link。

基本上,我有一个用例,当购买下载产品时,我需要将文件添加到订单才能下载它。所以我无法为产品添加订单 ID,因为当时没有订单。

要点是,每个可下载的产品都需要有一个动态 link,因为它会即时生成。

那么如何添加数据到产品下载URL link ->

WooCommerce 提供 2 个过滤器,可用于实现您正在寻找的内容:

A) woocommerce_download_product_filepath 用来指定URL包含哪些要下载的文件,它有以下参数:

  • @param string $file_path 文件路径
  • @param string $email_address 邮箱地址
  • @param WC_Order|bool $order 订单对象或false
  • @param WC_Product $product 产品对象
  • @param WC_Customer_Download $download 下载数据

并且是这样注册的:

add_filter( 'woocommerce_download_product_filepath', 'change_woocommerce_file_download_path', 10, 5 );

这里有更多信息https://wp-kama.com/plugin/woocommerce/hook/woocommerce_download_product_filepath

B) woocommerce_file_download_filename 用于操作下载文件的名称,它接受以下参数:

  • @param string $filename 可下载的文件名。
  • @param int $product_id WC 产品编号

并且是这样注册的:

add_filter( 'woocommerce_file_download_filename', 'change_woocommerce_file_download_filename', 10, 2 );

这里有更多信息https://wp-kama.com/plugin/woocommerce/hook/woocommerce_file_download_filename