问题描述
我将 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_order
和 customer_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,现在它正在工作。