我正在编写一个系统,以将所有woocommerce订单电子邮件作为内部通知发送给用户。
我想获取从订单号生成的订单电子邮件内容,并在将其发送给用户之前将其另存为字符串。
我的第一次尝试是使用wp_mail过滤器,并尝试通过其主题行和电子邮件地址确定woocommerce消息。但是后来我意识到,用户可以在其帐户电子邮件中使用不同的帐单电子邮件地址,并且尝试从主题中锻炼电子邮件类型将很容易出错。
有没有一种方法可以在发送woocommerce电子邮件之前生成HTML或消息?如果可能的话,我希望在此过滤器中获取电子邮件内容:woocommerce_email_recipient_customer_completed_order
在此先感谢您的帮助,如果您需要更多信息,请告诉我。
Rob
add_filter('wp_mail', 'my_wp_mail');
function my_wp_mail($atts) {
$content = $atts['message'];
$subject = $atts['subject'];
$user_email = $atts['to'];
$user = get_user_by('user_email', $user_email);
if($user){
$user_id = $user->ID;
$time_sent = date("d/m/y H:i:s");
$message_status = 'unread';
$email_notification['subject'] = $subject;
$email_notification['message'] = $content;
$email_notification['timeSent'] = $time_sent;
$email_notification['status'] = $message_status;
$current_messages = get_user_meta($user_id, 'emailMessages', true);
$current_messages[] = $email_notification;
update_user_meta($user_id, 'emailMessages', $current_messages);
}
return $atts;
}