我覆盖了Woocommerce管理员的新电子邮件。另外,我还添加了一个过滤器,从ACF选项页面文件字段添加附件文件。
function attach_order_notice ( $attachments, $email_id, $order ) {
// Only for "New Order" email notification (for admin)
error_log( \'attachments: \'. print_r( get_field( \'email_file_attachment\', \'options\' )[\'url\'], true ) );
//if( $email_id == \'new_order\' ){
$attachments[] = get_field( \'email_file_attachment\', \'options\' )[\'url\'];
//}
return $attachments;
}
add_filter( \'woocommerce_email_attachments\', \'attach_order_notice\', 10, 3 );
当我查看日志时,我会得到一个PDF文件的URL,并且可以查看,当我收到电子邮件时,没有附加任何文件,没有附加到管理员电子邮件或客户电子邮件。
原因可能是什么?谢谢
SO网友:odedta
显然,Woocommerce需要一个本地路径,而不是文件的URL。为了修复,我使用了以下方法:
function attach_order_notice ( $attachments, $email_id, $order ) {
// Only for "New Order" email notification (for admin)
//if( $email_id == \'new_order\' ){
$file_path = wp_upload_dir()[\'path\'];
$file_name = get_field( \'email_file_attachment\', \'options\' )[\'filename\'];
$attachments[] = $file_path . \'/\' . $file_name;
//}
return $attachments;
}
add_filter( \'woocommerce_email_attachments\', \'attach_order_notice\', 10, 3 );
我希望这对某人有所帮助。