我是wordpress主题开发的新手,我需要在wordpress中发送带有ajax / PHP的电子邮件
var dataString = 'name=' + name +
'&email=' + email +
'&contact=' + contact +
'&technology=' + technology +
'&budget=' + budget +
'&details=' + details;
alert(dataString);
$.ajax({
type: "POST",
url: "<?php bloginfo('template_url'); ?>/qoute-sent.php",
data: {name:'anas', Email: 'anas@yahoo.com'},
datatype: "html",
success: function() {
alert(sent);
}
所有代码一直工作到alert(dataString);
但之后ajax不起作用....
这是我的php文件代码
$name=$_POST['name'];
$email=$_POST['email'];
// $contact=$_POST['contact'];
//$technology=$_POST['technology'];
// $budget=$_POST['budget'];
//$details=$_POST['details'];
//-------------for email setup----------------------------
$to = "stylegurupk@gmail.com";
//------------------------------------------
$message = " \n " .
"Name ".$name." \n " .
"Email : ".$email." \n " ;
//----------------------------------
$subject = "MWM Qoute Request";
$headers = 'From: '.$email . "\r\n" .
'Reply-To: '.$to . "\r\n" .
'X-Mailer: PHP/' . phpversion();
//echo "TO : ".$to."<br>";
//echo "FROM : ".$email."<br>";
//echo "<br>".$message;
mail($to, $subject,$message,$headers);
答案 0 :(得分:0)
WordPress提供了使用AJAX进行开发的功能和钩子,使其变得非常简单。请参阅the Codex。
您还应该查看wp_mail发送电子邮件。
请记住,WordPress在noconflict模式下加载jQuery,因此你的$ selector应该是'jQuery'。
为防止滥用,您应该考虑在脚本中添加nonce。 WordPress也会处理:)请参阅wp_create_nonce。
我认为this is a good reference article一旦你在地方有骨头
答案 1 :(得分:0)
url: "<?php bloginfo('template_url'); ?>/qoute-sent.php",
网址应该是“quote-sent.php”吗?只是检查。
另外,您是否为WP设置了AJAX操作?没有它们就行不通。我通常会这样做:
<?php
function my_send_email(){
doStuff(); // etc..
echo 'sent!';
die();
}
add_action('wp_ajax_my_send_email', 'my_send_email');
add_action('wp_ajax_nopriv_my_send_email', 'my_send_email');
?>
像马克说的那样,我也建议使用wp_mail。