分享各种网络资源
是我乃至整个互联网的精髓所在
最新公告:
  • 开启被动注册模式,详情点击这里,同时接小单,QQ:330733312
  • 目前站点正在不断折腾和调试中,如有问题请见谅
     您目前所在位置: 站点首页 » WordPress » WordPress 代码 » WordPress代码实现回复邮件通知
  • WordPress代码实现回复邮件通知

    WordPress代码实现回复邮件通知-BanYuner

    目前大多数博客都具有的功能就是回复提醒功能,什么叫做回复提醒功能呢,简单的说就是你发表一条评论,当有人回复你的评论的时候,就会有一份邮件发送到你的邮箱,告诉你有人回复了你的内容,这个功能可以某种程度上面提高访客的回访率,但是有时候也可能被别人用来做坏事,比如恶意广告等问题,那么如果能很好的解决这个问题呢.今天给大家介绍一种方法.

    代码内容来自露兜博客:

    /**
     * WordPress评论回复邮件提醒防垃圾评论版
     * 作者:露兜
     * 博客:http://www.ludou.org/
     *  
     *  2014年7月5日 :
     *  首个版本
     */
    
    function ludou_comment_mail_notify($comment_id, $comment_status) {
      // 评论必须经过审核才会发送通知邮件
      if ($comment_status !== 'approve' && $comment_status !== 1)
        return;
      
      $comment = get_comment($comment_id);
    
      if ($comment->comment_parent != '0') {
        $parent_comment = get_comment($comment->comment_parent);
    
        // 邮件接收者email      
        $to = trim($parent_comment->comment_author_email);
        
        // 邮件标题
        $subject = '您在[' . get_option("blogname") . ']的留言有了新的回复';
    
        // 邮件内容,自行修改,支持HTML
        $message = '
          <p>Hi, ' . $parent_comment->comment_author . '</p>
          <p>您之前在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />'
           . $parent_comment->comment_content . '</p>
          <p>' . $comment->comment_author . ' 给您回复:<br />'
           . $comment->comment_content . '<br /><br /></p>
          <p>您可以 <a href="' . htmlspecialchars(get_comment_link($comment->comment_parent)) . '">点此查看回复完整內容</a></p>
          <p>欢迎再度光临 <a href="'.home_url().'">' . get_option('blogname') . '</a></p>
          <p>(此邮件由系统自动发送,请勿回复)</p>';
    
        $message_headers = "Content-Type: text/html; charset=\"".get_option('blog_charset')."\"\n";
        
        // 不用给不填email的评论者和管理员发提醒邮件
        if($to != '' && $to != get_bloginfo('admin_email'))
          @wp_mail($to, $subject, $message, $message_headers);
      }
    }
    
    
    // 编辑和管理员的回复直接发送提醒邮件,因为编辑和管理员的评论不需要审核
    add_action('comment_post', 'ludou_comment_mail_notify', 20, 2);
    
    // 普通访客发表的评论,等博主审核后再发送提醒邮件
    add_action('wp_set_comment_status', 'ludou_comment_mail_notify', 20, 2);

    这个代码的原理是按照原作的的话说是这样的:

    我设计的运行机制是这样的:对于管理员和编辑的评论回复,可以直接给评论者发送提醒邮件;对于普通访客发表的评论,先让它在待审评论中呆着,等博主审核后,再给评论者发送提醒邮件。

    同样的,为了能更好的发挥这段代码的实质性作用,这里露兜博客也建议各位博主进入WordPress后台 – 设置 – 讨论,勾选”评论必须经人工批准”.可能这样会很麻烦,但是这样仅仅是为了防止广告泛滥以及充分发挥这段代码的作用,其实某种程度上面,大家可以直接勾选”评论者先前须有评论通过了审核”,这样一来的话,如果一开始是广告,那么就不会通过,如果一开始是正常人的话,我相信也没有谁会去这么无聊,没事干的.

    找到这段代码的过程也是非常曲折的,因为我目前使用的主题没有这个功能,那么我就只能慢慢寻找这个功能的实现方法,但是很多方法都是调用了mail()函数,但是我使用的虚拟主机貌似关闭了这个,所以我就只能另辟蹊径.后来得知使用SMTP即可,我就安装了一款插件并且配置之后,再搭配上上面的一段代码,使用起来就很方便也有效了.希望这个方法对大家有效,要是有问题,可以留言告知

    关注我们 打赏 分享此文

    微信扫码,关注我们

    扫码,支持我

    WordPress代码实现回复邮件通知

    支付宝(点击图片切换)

    扫码,支持我

    WordPress代码实现回复邮件通知

    微信(点击图片切换)

    扫码,手机看

    WordPress代码实现回复邮件通知
    匿名

    个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

    WordPress代码实现回复邮件通知
    3 + 4 =
    1. 1楼
      四叶草
      最后评论时间:2017/07/28 16:47
      来自天朝的朋友 火狐浏览器 Windows 10 广东省 电信
      天噜啦!百度试了N种代码都不行 博主这个方法解决了我的问题 感谢分享
      四叶草 4个月前 (07-28)回复
      • 帅气小琦琦
        最后评论时间:2017/11/19 15:20
        来自天朝的朋友 谷歌浏览器 Windows 10 湖北省武汉市 电信
        @四叶草 有帮助就行,希望帮助到更多用户
        帅气小琦琦    22小时前回复