我正在使用WordPress +联系人表格,该表格使用 wp_mail 功能发送电子邮件。我现在需要的是,它会自动发送两封(或更多封)带有不同主题和消息的电子邮件。
答案 0 :(得分:1)
您可以捕获来自wordpress的电子邮件,检查要发送的电子邮件是否来自您的联系表单,最后执行您的自定义操作(发送2封电子邮件)。
您可以通过注册过滤器来实现:
add_filter( 'wp_mail', 'my_wp_mail' );
function my_wp_mail($attributes)
{
//If the subject matches the subject from the contact form do the following:
//Change the subject (so that this code gets only performed once, and not EVERY time the wp_mail function is called)
//Send your custom mails by calling the wp_mail function: https://developer.wordpress.org/reference/functions/wp_mail/
//You can access the attributes by calling $attributes['subject'], $attributes['message'], $attributes['to'], ...
return $attributes;
}
因此,您在示例中唯一需要编辑的就是一旦执行了自定义操作(因此不会无限次执行)就删除键_wpnonce-et-pb-contact-form-submitted-0
。
答案 1 :(得分:0)
function my_wp_mail_func( $args ) {
// checks data origin (in this case contact module of Divi theme)
if ( array_key_exists('et_pb_contactform_submit_0', $_POST) ){
// prevents infinite loop
unset($_POST["et_pb_contactform_submit_0"]);
$message = $args['message'] . ' 2';
$subject = $args["subject"] . ' 2';
$to = "recipient2@domain.com";
wp_mail( $to, $subject, $message, $args['headers'], $args['attachments'] );
$message = $args['message'] . ' 3';
$subject = $args["subject"] . ' 3';
$to = "recipient3@domain.com";
wp_mail( $to, $subject, $message, $args['headers'], $args['attachments'] );
return $args;
}
return $args;
}
add_filter( 'wp_mail', 'my_wp_mail_func' );