ajax请求php发邮件,php – 在WordPress中使用Ajax发送邮件

我正在尝试使用Ajax通过我创建的Web表单发送电子邮件,但我迷路了.我不知道Ajax如何在Wordpress中运行.

我首先创建了一个动作

add_action( 'wp_ajax_siteWideMessage', 'wpse_sendmail' );

应该检索数据并发送邮件的功能是:

function wpse_sendmail()

{

$for = like_escape($_POST['forwhat']);

$email = like_escape($_POST['email']);

$headers = 'From: '.$email ."\r\n".'Reply-To: '.$email;

$message = like_escape($_POST['message_message']);

$respond = like_escape($_POST['message_email']);

wp_mail( "support@ontrgt.net", "(OTN) Support: ".$support, $message, $headers);

}

最后,js是这样的:

$("#contact-send").click(function(){

var forwhat = $("#contact-for").val();

var name = $("#contact-name").val();

var email = $("#contact-email").val();

$.post( "<?php echo esc_js( site_url() ) ?>", { siteWideMessage:"null", forwhat: forwhat, name: name, email:email }, function(){

console.log("success");

});

});

我不太清楚我在这里缺少什么.有人可以帮我理解Wordpress的Ajax流程吗?

UPDATE

到目前为止,我更新了我的代码:

PHP

add_action( 'wp_ajax_siteWideMessage', 'wpse_sendmail' );

add_action( 'wp_ajax_nopriv_siteWideMessage', 'wpse_sendmail' );

function wpse_sendmail()

{

$for = $_POST['forwhat'];

$email = $_POST['email'];

$headers = 'From: '.$email ."\r\n".'Reply-To: '.$email;

$message = $_POST['message_message'];

$respond = $_POST['message_email'];

/*if(wp_mail( "support@ontrgt.net", "(OTN) Support: ".$for, $message, $headers))

{

echo "WOOHOO";

}*/

if($for)

{

//Just to see if there is any response.

echo "Whoohoo";

}

die();

}

JS

$("#contact-send").click(function(){

var forwhat = $("#contact-for").val();

var name = $("#contact-name").val();

var email = $("#contact-email").val();

var data = { action:'siteWideMessage', forwhat:forwhat, name:name, email:email };

$.post('<?php echo admin_url("admin-ajax.php"); ?>', data, function(response) {

alert(response);

});

});

WordPress仍然没有响应我的AJAX命令.我正在使用inspect元素,我看不到任何数据被传递.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值