使用 onclick 功能在电子邮件上发送 wp post 标题

Send wp post title on an email with onclick function

每次单击 <a> 时,我都会向我的 Outlook 帐户发送一封电子邮件。我希望该消息具有单击 link 的 wordpress post 的标题,但是,它不会打印在电子邮件中。它无法识别 the_title(); 以获得 post 称号。另一个问题是电子邮件进入垃圾邮件文件夹。

如何解决这个问题?

<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() returns 如果成功则为 true,因此 Javascript 函数将提示 true / false。