自定义电子邮件的 WooCommerce pdf 附件不起作用

问题描述

我将 WooCommerce 订单状态管理器插件用于自定义订单状态和电子邮件通知。我已通过卡付款为已付款订单创建自定义状态 - card-on-hold
我还创建了自定义电子邮件,当状态从 receivet 变为 card-on-hold 时将触发该电子邮件

我的代码是:

add_filter( 'woocommerce_email_attachments','attach_manual_pdf_to_email',10,3);
    
function attach_manual_pdf_to_email ( $attachments,$status,$order ) {
    
    $allowed_statuses = array( 'customer_processing_order','customer_on_hold_order','customer_order_status_email' );
    
    if( isset( $status ) && in_array ( $status,$allowed_statuses ) ) {
        $dokument = get_template_directory() . '/woocommerce/emails/attach.pdf';
        $attachments = $dokument;
    }
    return $attachments;
}

电子邮件 ID customer_processing_ordercustomer_on_hold_order 就像一个魅力。

但是 customer_order_status_email 是订单状态管理器的 PHP 模板不起作用。它位于 betheme/woocommerce/emails/customer-order-status-email.PHP,我也尝试将它移动到其他模板所在的相同位置,但没有帮助。

知道如何使这个工作吗?

解决方法

好吧,我确实找到了解决方案:

我确实在电子邮件模板中使用了 echo '<pre>'; print_r($email->id); echo '</pre>',该模板为我打印了电子邮件 ID。我在允许的状态下使用了这个 ID,现在它正在工作。