WordPress优化:为博客添加评论回复后邮件通知

简介:

顾名思义,就是当有人在我们的博客进行留言,然后我们管理员或者其他人给他的留言有了回复后,可以通过邮件通知他他在那篇文章的留言有了新的回复。这个功能虽然很小,但是却是非常人性化的,而且可以极大的提高用户体验。

        添加这个效果很简单,只需要在我们使用的主题的functions.php中找一个独立的地方把下面这段代码复制上去就行了,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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  = '<div style= "border-right:#666666 1px solid;border-radius:8px;color:#111;font-size:12px;width:702px;border-bottom:#666666 1px solid;font-family:微软雅黑,arial;margin:10px auto 0px;border-top:#666666 1px solid;border-left:#666666 1px solid" ><div  class = "adM" >
</div><div style= "width:100%;background:#666666;min-height:60px;color:white;border-radius:6px 6px 0 0" ><span style= "line-height:60px;min-height:60px;margin-left:30px;font-size:12px" >您在<a style= "color:#00bbff;font-weight:600;text-decoration:none"  href= "' . get_option('home') . '"  target= "_blank" > ' . get_option(' blogname ') . ' </a> 上的留言有回复啦!</span> </div>
<div style= "margin:0px auto;width:90%" >
<p> ' . trim($parent_comment->comment_author) . ' , 您好!</p>
<p>您于 ' . trim($parent_comment->comment_date) . '  在文章《 ' . get_the_title($comment->comment_post_ID) . ' 》上发表的评论: </p>
<p style= "border-bottom:#ddd 1px solid;border-left:#ddd 1px solid;padding-bottom:20px;background-color:#eee;margin:15px 0px;padding-left:20px;padding-right:20px;border-top:#ddd 1px solid;border-right:#ddd 1px solid;padding-top:20px" > ' . nl2br($parent_comment->comment_content) . ' </p>
<p> ' . trim($comment->comment_author) . '  ' . trim($comment->comment_date) . '  给您的回复如下: </p>
<p style= "border-bottom:#ddd 1px solid;border-left:#ddd 1px solid;padding-bottom:20px;background-color:#eee;margin:15px 0px;padding-left:20px;padding-right:20px;border-top:#ddd 1px solid;border-right:#ddd 1px solid;padding-top:20px" > ' . nl2br($comment->comment_content) . ' </p>
<p>您可以点击 <a style= "color:#00bbff;text-decoration:none"  href= "' . htmlspecialchars(get_comment_link($comment->comment_parent)). '"  target= "_blank" >查看回复的完整內容</a></p>
<p>感谢您对 <a style= "color:#00bbff;text-decoration:none"  href= "' . get_option('home') . '"  target= "_blank" > ' . get_option(' blogname ') . ' </a> 的关注,如您有任何疑问,欢迎在博客留言,我都会一一解答,么么哒!!!</p><p>(此邮件由系统自动发出,请勿回复。)</p></div></div>';
 
     $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);

注:代码不是我原创的,是我根据两个互联网上的版本修改而成。

这段代码是我现在正在使用的,大家可以根据自己喜好自行修改,这里权当参考。添加之后的效果如下:

wKiom1ae-NTAowiMAADhnrvmXx0948.png

特别申明:

       开启回复评论邮件通知回复者,这个功能实际上是有一定风险的,因为一些发垃圾广告的人可以根据这个功能,对网站中其他正常的评论大量回复垃圾信息,然后这些垃圾信息就没有限制的直接发送到正常评论的作者的邮箱去了,相当于我们的网站就成了垃圾广告传播的帮凶了

       当然补救方法也是有的,那就是:在评论显示之前,我们先进行审核。我的做法是在“设置”那里开启在评论显示之前“评论者先前须有评论通过了审核”。这样做虽然麻烦了一点,但是抵制垃圾广告不正是我们站长应该承担的责任吗?



本文转自 pangfc 51CTO博客,原文链接:http://blog.51cto.com/983836259/1736721,如需转载请自行联系原作者

相关文章
|
3月前
【wordpress教程】wordpress博客网站添加非法关键词拦截
有的网站经常被恶意搜索,站长们不胜其烦。那我们如何屏蔽恶意搜索关键词呢?下面就随小编一起来解决这个问题吧。
60 1
|
4月前
|
移动开发 前端开发 语音技术
WordPress轻拟物博客主题niRvana 4.5.3(自适应手机端)
WordPress轻拟物主题niRvana,设计上不再趋从于现有的扁平风,我认为是时候从极致的扁平稍微向拟物致敬了,因此采用了轻拟物的风格。niRvana 设计和样式更加新颖,一眼看上去就会被他吸引住,主题配色也非常舒服。而且它有两个功能特别有意思,一个是自动根据文章特色图片识别出图片的主色调,在首页、文章分类页用最美的方式显示滚动图片,另一个则是文章支持语音朗读。主题细腻有质感,手机端体验非常好。
77 2
|
5月前
|
PHP
菊子曰备份Wordpress网站的博客内容出错的解决办法(原创)
菊子曰备份Wordpress网站的博客内容出错的解决办法(原创)
518 2
|
5月前
|
Java Android开发
java利用xml-rpc协议操作wordpress博客
java利用xml-rpc协议操作wordpress博客
77 1
|
24天前
|
PHP SEO
WordPress博客每日定时发布 每天60秒读懂世界源码
WordPress博客每日定时发布 每天60秒读懂世界源码
36 0
WordPress博客每日定时发布 每天60秒读懂世界源码
|
3月前
|
数据库
WordPress回复评论自动添加@评论者
久以前有朋友反应,回复了却没有接到通知!今天小编分享一款关于WordPress回复评论自动添加@评论者的代码,以后大家留言的时候,只有被回复就会自动@你了哟,在这里也感谢大家的支持
21 1
|
4月前
|
NoSQL Redis
WordPress懒人优化方案,有效提升网页加载速度
在WordPress商店安装并启用插件WP Fastest Cache,按照说明设置。确保服务器已安装Redis,再安装Redis Object Cache并启用,无需额外配置。这两个步骤能显著提升网站加载速度,带来流畅的浏览体验。
104 8
|
4月前
|
存储 缓存 搜索推荐
如何优化WordPress的性能
【6月更文挑战第5天】如何优化WordPress的性能
34 3
|
5月前
|
关系型数据库 MySQL PHP
wordpress博客系统详细安装部署教程
wordpress博客系统详细安装部署教程
wordpress博客系统详细安装部署教程
|
5月前
|
安全
SiteGround如何设置WordPress网站自动更新
iteGround Autoupdate功能会自动帮我们更新在他们这里托管的所有WordPress网站,这样做是为了保证网站安全,并且让它们一直保持最新状态。他们会根据我们选择的设置自动更新不同版本的WordPress,包括主要版本和次要版本。在每次自动更新之前,他们都会为我们的网站做一个完整的备份,这样如果有什么问题,我们可以轻松地恢复到之前的状态。在本文中,我们将介绍如何在SiteGround中设置WordPress网站自动更新。
534 0
SiteGround如何设置WordPress网站自动更新
下一篇
无影云桌面