我正在使用acf表单向我的网站添加活动。它完美地添加了事件。我在用户提交电子邮件时尝试发送电子邮件。但是邮件没有用。这是我正在使用的代码
<div class="event_forn_holder">
<?php acf_form(array(
'post_id' => 'new_post',
'new_post' => array(
'post_type' => 'events',
'post_status' => 'pending'
),
'html_updated_message' => '<div id="event_message" class="alert alert-success"><p>Event has been submitted for review. Thanks</p></div>',
'post_title' => false,
'uploader' => 'basic',
'field_groups' => array(3236),
'submit_value' => 'Submit Event'
)); ?>
</div>
以下是我在functions.php中使用的代码
add_action('acf/save_post', 'acf_my_save_post');
function acf_my_save_post( $post_id ) {
// bail early if not a contact_form post
if( get_post_type($post_id) !== 'events' ) {
return;
}
// bail early if editing in admin
if( is_admin() ) {
return;
}
// vars
$post = get_post( $post_id );
// get custom fields (field group exists for content_form)
$name = get_field('event_name', $post_id);
$email = get_field('your_email', $post_id);
// email data
$to = 'mail@yahoo.com';
$headers = 'From: ' . $name . ' <' . $email . '>' . "\r\n";
$subject = $post->post_title;
$body = $post->post_content;
// send email
wp_mail($to, $subject, $body, $headers );
}
答案 0 :(得分:0)
我只是将它与我拥有的几乎完全相同的功能进行了比较,除了它确实有效并向我发送电子邮件。我看到的唯一区别是,我的$ body变量以“\ r \ n”开头,然后是内容。
$body = "\r\n" . $post->post_content;
除此之外,它可能会发送垃圾邮件。或许你有一些其他插件或代码与它发生冲突。