<?php // Add Downloadable Products to Woocommerce Completed Order & Invoice Emails as Attachments function woocommerce_emails_attach_downloadables($attachments, $status, $order) { if ( ! is_object( $order ) || ! isset( $status ) ) { return $attachments; } if ( empty( $order ) ) { return $attachments; } if ( ! $order->has_downloadable_item() ) { return $attachments; } $allowed_statuses = array( 'customer_invoice', 'customer_completed_order' ); if ( isset( $status ) && in_array( $status, $allowed_statuses ) ) { foreach ( $order->get_items() as $item_id => $item ) { foreach ( $order->get_item_downloads( $item ) as $download ) { $attachments[] = str_replace( content_url(), WP_CONTENT_DIR, $download['file'] ); } } } return $attachments; } add_filter( 'woocommerce_email_attachments', 'woocommerce_emails_attach_downloadables', 10, 3);