我已经在home.php wordpress文件上发送了电子邮件功能,功能在
之下$("#sendmailbtn").click(function(e) {
var dataString = $(".pricing").html();
e.preventDefault();
var grandTotal = localStorage.getItem("GrandTotal");
$.ajax({
type: "POST",
url: "/wp-admin/admin-ajax.php",
datatype: "html",
data: {'action': 'fahadsending_mail', 'more': dataString, 'grandTotal': grandTotal},
success: function(response) {
alert("success is " + response);
},error:function(response){
alert("error is " + response);
}
});
});
和我的functions.php文件中的电子邮件代码在我发送邮件到fahadsending_mail函数的下方,但是它提醒成功的ajax成功函数是0
add_action('wp_ajax_fahadsending_mail', 'fahadsending_mail');
add_action('wp_ajax_fahadsending_mail', 'fahadsending_mail');
function fahadsending_mail(){
$to = "asadkhan6164995@gmail.com";
$subject = "Donation";
$message = "message message message message message message message ";
if(wp_mail($to, $subject, $message))
{
echo "mail sent";
} else {
echo "mail not sent";
}
}
并且响应来自成功功能,它提醒成功为0
和ajax帖子显示以下内容
行动
wplc_call_to_server_visitor
CID
213
安全
2f40c8e66f
状态
五
wplc_email
没有电子邮件集
wplc_name
客人
wplcsession
1456325128583
答案 0 :(得分:1)
除了@Andrew M回答:
您没有在email
JSON对象中传递data
,因此未设置$_POST['email']
。它应该是这样的:
data: {'action': 'mail_action', 'email': 'email@domain.com', 'more': dataString, 'grandTotal': grandTotal},
除此之外,您应该使用wp_mail
(可插入)并且应该使用wp_die()结束函数;
问候!
答案 1 :(得分:0)
这里的一个问题是您在代码中指定admin ajax url的方式。而不是
url : "<?php echo admin_url('admin-ajax.php'); ?>",
你应该可以使用
url: "/wp-admin/admin-ajax.php",
您还没有正确指定操作的名称。在上述操作的声明中,名称将是 mail_action 而不是 fahadsending_mail
因此,如果您将上面的ajax声明更改为以下内容,您应该能够进行ajax调用
$.ajax({
type: "POST",
url : "/wp-admin/admin-ajax.php",
datatype: "html",
data: {'action': 'mail_action', 'more': dataString, 'grandTotal': grandTotal},
success: function(response) {
alert(response);
}
});