使用点击功能在电子邮件上发送wp帖子标题


Send wp post title on an email with onclick function

每次单击<a>时,我都会向我的Outlook帐户发送电子邮件。我希望该消息具有单击链接的wordpress帖子的标题,但是,它不会打印在电子邮件中。它不承认获得帖子标题the_title();。另一个问题是电子邮件正在进入垃圾邮件文件夹。

如何解决这个问题?

<a href="#" onclick="callFunction();">Report</a>
<script type="text/javascript">
    function callFunction(){
        <?php  
            $message = ''.the_title();
            $to = "my@outlook.com";
            $subject = "Expired post report";
            $from = "reporting@website.com"; 
            $headers = "From:" . $from;
            mail($to,$subject,$message,$headers); 
        ?>
    }
</script>

对于Javascript,客户端执行,要调用PHP函数,服务器端执行,你需要使用ajax创建一个非常小的API。如果你在项目中包含了jQuery,你可以将Javascript变量发送到PHP文件,并使用PHP发送邮件。

Javascript:

$.ajax({
    type: "POST",
    url: "path/to/file/mail.php",
    data: {
        message : "<?php echo the_title(); ?>",
        subject : "Expired post report"
    }
}).done(function( msg ) {
    alert( msg );
});

PHP文件叫做mail.php:

$message = $_REQUEST['message'];
$to = "my@outlook.com",
$subject = $_REQUEST['subject'];
$headers = "From: reporting@website.com";
echo mail($to, $subject, $message, $headers); 

mail() 如果成功,则返回 true,因此 Javascript 函数将提醒 true/false。