在发布此帖子之前,我浏览了以下资源:
On form submission how to send 2 email to different users
https://stackoverflow.com/questions/17157685/php-redirect-to-another-page-after-form-submit
https://stackoverflow.com/questions/10927682/how-to-send-e-mail-from-form-in-wordpress
How to send an email using wp_mail and using more than one BCC in the header
外部URLalso.我在插件中有一个名为shortcode的文件。php。它有一个表单,在此基础上,我编写了以下代码:
add_action(\'wp_ajax_nopriv_submit_contact_form\', \'submit_visa_form\');
function submit_visa_form() {
if(isset($_POST[\'submit\'])) {
$email=$_POST[\'email\'];
$firstname=$_POST[\'firstname\'];
$familyname=$_POST[\'familyname\'];
$other_names=$_POST[\'other_names\'];
$dob_day=$_POST[\'dob_day\'];
$dob_month=$_POST[\'dob_month\'];
$dob_year=$_POST[\'dob_year\'];
$city_of_birth=$_POST[\'city_of_birth\'];
$country_of_birth=$_POST[\'country_of_birth\'];
$gender=$_POST[\'gender\'];
$form_message .= "First Name: ".clean_string($firstname)."\\n";
$form_message .= "Family Name: ".clean_string($familyname)."\\n";
$form_message .= "Email: ".clean_string($email)."\\n";
$form_message .= "Other Name ".clean_string($other_names)."\\n";
$form_message .= "DOB: ".clean_string($dob_day)."\\n";
$form_message .= "DOM: ".clean_string($dob_month)."\\n";
$form_message .= "DOY: ".clean_string($dob_year)."\\n";
$form_message .= "COB: ".clean_string($city_of_birth)."\\n";
$form_message .= "COOB: ".clean_string($country_of_birth)."\\n";
$form_message .= "GENDER: ".clean_string($gender)."\\n";
$email_to = "michael.corelone@gmail.com";
$subject = "Form submitted by $email";
$headers = \'From: \'. $firstname .\' <\'. $email .\'>\' . "\\r\\n";
if(wp_mail($email_to,$subject,$form_message,$headers)) {
echo json_encode(array("result"=>"complete"));
} else {
echo json_encode(array("result"=>"mail_error"));
var_dump($GLOBALS[\'phpmailer\']->ErrorInfo);
}
wp_die();
}
}
在当前使用的表单操作中→ action="<?php the_permalink(); ?>"
可查看活动表单以供参考here.但最终在填写完表格后,我没有收到电子邮件。
我应该遵循哪些故障排除步骤?
在我给出的外部链接中,表单操作是:
action="<?php echo admin_url(\'admin-ajax.php\'); ?>"
当我使用abive URL时,它会将我带到管理页面,并给出以下内容→ “0”
哪一个是正确的?是否有人在通过电子邮件发送自定义表单时遇到了相同的问题?是否有办法检查导致错误的原因?