上次我们讲了如何给WordPress投稿功能添加富文本编辑器,这次我们来讲讲如何实现:投稿者的投稿审核通过并发布后,自动给投稿者发一封邮件进行提醒。

一、添加一个存储投稿者邮箱的自定义栏目
打开WordPress添加投稿功能,下面我们将对这篇文章中的代码进行修改。在第二段代码以下代码:


wp_mail("somebody#example.com","My subject","content");
下一行插入以下代码:
// 其中 ludou_tougao_email 是自定义栏目的名称
add_post_meta($status, 'ludou_tougao_email', $email, TRUE);

二、添加提醒功能php代码
在主题目录下的functions.php添加以下php代码:


function tougao_notify($mypost) {
    $email = get_post_meta($mypost->ID, "ludou_tougao_email", true);

    if( !empty($email) ) {
        // 以下是邮件标题
        $subject = '您在xxx博客的投稿已发布';
        // 以下是邮件内容
        $message = '
        <p><strong>xxx博客</strong> 提醒您: 您投递的文章 <strong>' . $mypost->post_title . '</strong> 已发布</p>
    
        <p>您可以点击以下链接查看具体内容:<br />
        <a href="' . get_permalink( $mypost->ID ) . '">点此查看完整內容</a></p>
        <p>===================================================================</p>
        <p><strong>感谢您对 <a href="http://www.xxx.org" target="_blank">xxx博客</a> 的关注和支持</strong></p>
        <p><strong>该信件由系统自动发出, 请勿回复, 谢谢.</strong></p>';
        
        add_filter('wp_mail_content_type',create_function('', 'return "text/html";'));
        @wp_mail( $email, $subject, $message );
    }
}

// 当投稿的文章从草稿状态变更到已发布时,给投稿者发提醒邮件
add_action('draft_to_publish', 'tougao_notify', 6);

以上功能需要你的服务器支持mail函数,具体可以参考这篇文章测试你的主机是否支持