评论回复帖子,主动发送电子邮件通知评论员,这是提高的一大举措的用户体验。倡导孟一直在使用Willin Kan主评论回复电子邮件警报通知码,我相信很多人也使用,假设你没有使用。最好的尝试。

根据自己的需要,选择一个代码,根据自己的需要,新增的主题 functions.php 或者 pluggable.php(推荐)
 文件的 最后一个 ?> 前面就可以:

方法一:全部回复都发送邮件通知

默认全部填写了邮箱的评论都将发邮件提醒评论人,没有不论什么勾选设置。

/* comment_mail_notify v1.0 by willin kan. (全部回复都发邮件) */
function comment_mail_notify($comment_id) {$comment = get_comment($comment_id);$parent_id = $comment->comment_parent ?

$comment->comment_parent : ''; $spam_confirmed = $comment->comment_approved; if (($parent_id != '') && ($spam_confirmed != 'spam')) { $wp_email = 'no-reply@' . preg_replace('#^www.#', '', strtolower($_SERVER['SERVER_NAME'])); //e-mail 发出点, no-reply 可改为可用的 e-mail. $to = trim(get_comment($parent_id)->comment_author_email); $subject = '您在 [' . get_option("blogname") . '] 的留言有了回复'; $message = ' <div style="background-color:#eef2fa; border:1px solid #d8e3e8; color:#111; padding:0 15px; -moz-border-radius:5px; -webkit-border-radius:5px; -khtml-border-radius:5px;"> <p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p> <p>您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />' . trim(get_comment($parent_id)->comment_content) . '</p> <p>' . trim($comment->comment_author) . ' 给您的回复:<br />' . trim($comment->comment_content) . '<br /></p> <p>您能够点击 查看回复完整內容</p> <p>欢迎再度光临 ' . get_option('blogname') . '</p> <p>(此邮件由系统自己主动发送,请勿回复.)</p> </div>'; $from = "From: \"" . get_option('blogname') . "\" <$wp_email>"; $headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n"; wp_mail( $to, $subject, $message, $headers ); } } add_action('comment_post', 'comment_mail_notify'); // -- END ----------------------------------------

方法二:让訪客自己选择是否邮件通知

在评论框下方显示一个勾选框。让评论人自己决定是否接收邮件通知。

/* 開始*/
function comment_mail_notify($comment_id) {$admin_notify = '1'; // admin 要不要收回复通知 ( '1'=要 ; '0'=不要 )$admin_email = get_bloginfo ('admin_email'); // $admin_email 可改为你指定的 e-mail.$comment = get_comment($comment_id);$comment_author_email = trim($comment->comment_author_email);$parent_id = $comment->comment_parent ? $comment->comment_parent : '';global $wpdb;if ($wpdb->query("Describe {$wpdb->comments} comment_mail_notify") == '')$wpdb->query("ALTER TABLE {$wpdb->comments} ADD COLUMN comment_mail_notify TINYINT NOT NULL DEFAULT 0;");if (($comment_author_email != $admin_email && isset($_POST['comment_mail_notify'])) || ($comment_author_email == $admin_email && $admin_notify == '1'))$wpdb->query("UPDATE {$wpdb->comments} SET comment_mail_notify='1' WHERE comment_ID='$comment_id'");$notify = $parent_id ? get_comment($parent_id)->comment_mail_notify : '0';$spam_confirmed = $comment->comment_approved;if ($parent_id != '' && $spam_confirmed != 'spam' && $notify == '1') {$wp_email = 'no-reply@' . preg_replace('#^www.#', '', strtolower($_SERVER['SERVER_NAME'])); // e-mail 发出点, no-reply 可改为可用的 e-mail.$to = trim(get_comment($parent_id)->comment_author_email);$subject = '您在 [' . get_option("blogname") . '] 的留言有了回复';$message = '<div style="background-color:#eef2fa; border:1px solid #d8e3e8; color:#111; padding:0 15px; -moz-border-radius:5px; -webkit-border-radius:5px; -khtml-border-radius:5px;"><p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p><p>您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />'. trim(get_comment($parent_id)->comment_content) . '</p><p>' . trim($comment->comment_author) . ' 给您的回复:<br />'. trim($comment->comment_content) . '<br /></p><p>您能够点击查看回复的完整內容</p><p>还要再度光临 ' . get_option('blogname') . '</p><p>(此邮件由系统自己主动发送,请勿回复.)</p></div>';$from = "From: \"" . get_option('blogname') . "\" <$wp_email>";$headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";wp_mail( $to, $subject, $message, $headers );}
}
add_action('comment_post', 'comment_mail_notify');/* 自己主动加勾选栏 */
function add_checkbox() {echo '<input type="checkbox" name="comment_mail_notify" id="comment_mail_notify" value="comment_mail_notify" checked="checked" style="margin-left:20px;" /><label for="comment_mail_notify">有人回复时邮件通知我</label>';
}
add_action('comment_form', 'add_checkbox');

方法三:让博客管理员决定什么情况下发邮件

你能够依据自己的需求,配置以下代码(看代码凝视),决定什么情况才发邮件。

/* comment_mail_notify v1.0 by willin kan. (无勾选栏) */
function comment_mail_notify($comment_id) {$admin_email = get_bloginfo ('admin_email'); // $admin_email 可改为你指定的 e-mail.$comment = get_comment($comment_id);$comment_author_email = trim($comment->comment_author_email);$parent_id = $comment->comment_parent ? $comment->comment_parent : '';$to = $parent_id ? trim(get_comment($parent_id)->comment_author_email) : '';$spam_confirmed = $comment->comment_approved;if (($parent_id != '') && ($spam_confirmed != 'spam') && ($to != $admin_email) && ($comment_author_email == $admin_email)) {/* 上面的推断式,决定发出邮件的必要条件:($parent_id != '') && ($spam_confirmed != 'spam'): 回复的, 并且不是 spam 才可发, 必需!!($to != $admin_email) : 不发给 admin.($comment_author_email == $admin_email) : 仅仅有 admin 的回复才可发.可视个人需改动上面的条件.*/$wp_email = 'no-reply@' . preg_replace('#^www.#', '', strtolower($_SERVER['SERVER_NAME'])); // e-mail 发出点, no-reply 可改为可用的 e-mail.$subject = '您在 [' . get_option("blogname") . '] 的留言有了回复';$message = '<div style="background-color:#eef2fa; border:1px solid #d8e3e8; color:#111; padding:0 15px; -moz-border-radius:5px; -webkit-border-radius:5px; -khtml-border-radius:5px;"><p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p><p>您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />'. trim(get_comment($parent_id)->comment_content) . '</p><p>' . trim($comment->comment_author) . ' 给您的回复:<br />'. trim($comment->comment_content) . '<br /></p><p>您能够点击 查看回复的完整內容</p><p>还要再度光临 ' . get_option('blogname') . '</p><p>(此邮件由系统自己主动发送。请勿回复.)</p></div>';$from = "From: \"" . get_option('blogname') . "\" <$wp_email>";$headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";wp_mail( $to, $subject, $message, $headers );}
}
add_action('comment_post', 'comment_mail_notify');
// -- END ----------------------------------------

方法四:支持嵌套和@用户方式的评论提醒

此方法转载自zww.me,这版本号的评论回复通知是支持嵌套和@用户方式的。有什么问题,请到作者页面反馈。

/* 邮件通知 by Qiqiboy */function comment_mail_notify($comment_id) {$comment = get_comment($comment_id);//依据id获取这条评论相关数据$content=$comment->comment_content;//对评论内容进行匹配$match_count=preg_match_all('/<a href="#comment-([0-9]+)?" rel="nofollow">/si',$content,$matchs);if($match_count>0){//假设匹配到了foreach($matchs[1] as $parent_id){//对每一个子匹配都进行邮件发送操作SimPaled_send_email($parent_id,$comment);}}elseif($comment->comment_parent!='0'){//以防万一。有人有益删了@回复,还能够通过查找父级评论id来确定邮件发送对象$parent_id=$comment->comment_parent;SimPaled_send_email($parent_id,$comment);}else return;}add_action('comment_post', 'comment_mail_notify');function SimPaled_send_email($parent_id,$comment){//发送邮件的函数 by Qiqiboy.com$admin_email = get_bloginfo ('admin_email');//管理员邮箱$parent_comment=get_comment($parent_id);//获取被回复人(或叫父级评论)相关信息$author_email=$comment->comment_author_email;//评论人邮箱$to = trim($parent_comment->comment_author_email);//被回复人邮箱$spam_confirmed = $comment->comment_approved;if ($spam_confirmed != 'spam' && $to != $admin_email && $to != $author_email) {$wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])); // e-mail 發出點, no-reply 可改為可用的 e-mail.$subject = '您在 [' . get_option("blogname") . '] 的留言有了回應';$message = '<div style="background-color:#eef2fa;border:1px solid #d8e3e8;color:#111;padding:0 15px;-moz-border-radius:5px;-webkit-border-radius:5px;-khtml-border-radius:5px;"><p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p><p>您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />'. trim(get_comment($parent_id)->comment_content) . '</p><p>' . trim($comment->comment_author) . ' 给你的回复:<br />'. trim($comment->comment_content) . '<br /></p><p>您能够点击 <a href="' . htmlspecialchars(get_comment_link($parent_id,array("type" => "all"))) . '">查看回复的完整內容</a></p><p>欢迎再度光临 <a href="' . get_option('home') . '">' . get_option('blogname') . '</a></p><p>(此邮件有系统自己主动发出, 请勿回复.)</p></div>';$from = "From: \"" . get_option('blogname') . "\" <$wp_email>";$headers = "$from\nContent-Type: text/html; charset=" . get_option('blog_charset') . "\n";wp_mail( $to, $subject, $message, $headers );}}

说明书

发电子邮件,需要主机支持 mail() 功能。假设你发现没有办法接收电子邮件,你可以问问你的主机提供商。因为每个人都是不同的主机环境,有的朋友加入了这个功能时,,不总是成功,在这一刻,你可以试试 SMTP 发送电子邮件的方式。

转载于:https://www.cnblogs.com/mengfanrong/p/5044138.html

WordPress添加评论回复的电子邮件警报通知相关推荐

  1. WordPress管理员评论回复添加标注Admin印章

    米扑博客,为了区别管理员与游客或用户的评论或评论回复,显示博主身份是必要的. 本文原文,请见米扑博客: WordPress管理员评论回复添加标注Admin印章 例如:米扑博客 - 关于 WordPre ...

  2. WordPress用户评论和回复评论邮件通知功能

    前言 目标解决两个问题: 用户在文章中提交评论后,我们无法及时获取用户评论的内容,同时也就没办法及时回复: 从后台发现用户评论,虽然回复了,但是用户已经离开网站,无法接受到您给他的评论回复. 方法一: ...

  3. WordPress 网站设置发表评论,取消电子邮件,只需输入评论者名称的方法

    WordPress 网站设置发表评论,取消电子邮件,只需输入评论者名称的方法.默认WordPress 发表评论只能同时设置"必须填入姓名和电子邮件地址",如果认为输入电子邮件会影响 ...

  4. php开发添加表情功能,WordPress网站评论区如何实现添加表情包功能?

    做网站过程中,可以给自己的网站添加评论框,供用户评论.默认情况下,Wordpress网站评论框是没有添加表情功能的,那么WordPress网站评论区如何实现添加表情包功能?今天我们介绍一下如何给自己的 ...

  5. wordpress 形式php,将wordpress原生评论改造成论坛形式

    回看网站出现的最早出现的形式,就是以bbs的形式出现的,即发一篇文章,可以让别的用户回复,这样一个最初非常简单的形式,现在得到了众多扩展,但是所有的网站不管是门户网站.博客.商铺等等都可以发现他们共同 ...

  6. 获取outlook 会议_如何仅在Microsoft Outlook中仅获取您关注的电子邮件的通知

    获取outlook 会议 Some emails are more important than others. Rather than getting alerts every time an em ...

  7. wordpress添加媒体_如何在WordPress中添加新帖子并利用所有功能

    wordpress添加媒体 Are you trying to create a new post in WordPress? Do you want to learn about all the W ...

  8. SCOM警报通知新特性:即时消息通知

    使用过SCOM的朋友应该了解,相对MOM,SCOM增加了"即时消息"和"短信"两种警报通知方式.今天我将给大家介绍其中之一,"即时消息"告警 ...

  9. body添加代码 js_hexo 博客添加评论和阅读量

    说在最前面,最近刚发现一个好看的主题 Chic,然后果断就换了.效果很好.感谢作者.如果你们也喜欢的话,直接去GitHub项目,里边有安装文档,非常的简单. 附上我的博客地址,欢迎参观. 评论和文章阅 ...

最新文章

  1. 向流程组的所有成员发送信号的最佳方法是什么?
  2. 网银安全恐慌“后遗症”凸显 肉鸡检测器下载量近百万
  3. 旋转图像Python解法
  4. 数论练习二之BSGS算法——随机数生成器,Matrix,Lunar New Year and a Recursive Sequence,Fermat‘s Last Theorem
  5. vsftpd默认用户名/密码
  6. zookeeper基本操作
  7. 2.吴恩达机器学习课程-作业2-逻辑回归
  8. 讲真,WiFi 6到底6在哪儿
  9. 关于直播,所有的技术细节都在这里了(一)
  10. Python3入门机器学习经典算法与应用 第3章 matplotlib基础
  11. 如何彻底卸载Mysql数据库软件
  12. 单舵轮(叉车)AGV里程计数据解算
  13. 使用谷歌浏览器查看ws消息
  14. VC单位线程是如何处理消息的.txt
  15. 白岩松江西财大演讲:没有一代人的青春是容易的
  16. (c语言)兔子繁衍问题
  17. 使用LayUI实现AJAX分页
  18. python 圆的周长和面积
  19. Android高德地图配置及实现定位,目的地路线规划的路线绘制
  20. 计算机科学计数法的定义,科学计数法的定义和运算规则

热门文章

  1. 设计模式——责任连模式
  2. 关于c:if没有c:else解决方案
  3. WPF跨程序集共享样式(跨程序集隔离样式和代码)
  4. 杭电OJ 敌兵布阵 树状数组
  5. IE6下透明PNG图片的显示
  6. 在登陆AD的机器上测试模拟经过验证的用户
  7. 计算机网络学习笔记(3. 计算机网络结构)
  8. Vue:You may use special comments to disable some warnings.
  9. python调用图灵api_python调用API实现智能回复机器人
  10. Bitcoin是什么意思