如何在WooCommerce中通过电子邮件发送购买的数字产品

时间:2020-06-12 12:10:55

标签: php wordpress woocommerce email-attachments digital-downloads

我想出售一个.doc文件。用户付款后,该文档文件应发送到其电子邮件地址,而不是像默认情况下那样直接下载。我怎样才能做到这一点? 这将是可下载的doc文件产品,将通过电子邮件发送到其电子邮件地址

1 个答案:

答案 0 :(得分:1)

使用woocommerce_email_attachments专用挂钩,您可以将可下载项目的文件附加到WooCommerce客户完成的订单电子邮件通知,如下所示:

add_filter( 'woocommerce_email_attachments', 'attach_downloadable_files_to_customer_completed_email', 10, 3 );
function attach_downloadable_files_to_customer_completed_email( $attachments, $email_id, $order ) {
    if( isset( $email_id ) && $email_id === 'customer_completed_order' ){
        // Loop through order items
        foreach( $order->get_items() as $item ) {
            $product = $item->get_product(); // The product Object

            if ( $product->is_downloadable() && ( $downloads = $product->get_downloads() ) ) {
                // Loop through product downloads
                foreach( $downloads as $download ) {
                    $attachments[] = $download->get_file();
                }
            }
        }
    }
    return $attachments;
}

代码进入活动子主题(或活动主题)的function.php文件。经过测试,可以正常工作。


要使其适用于客户处理订单通知,请替换:

if( isset( $email_id ) && $email_id === 'customer_completed_order' ){

作者:

if( isset( $email_id ) && $email_id === 'customer_processing_order' ){

相关答案: