找寻那些幸福...
天下乌鸦一般黑 似乎这个真理被很多人忘记
之前我写了个插件用飞信来提醒有新评论.但是很多的博客主机并不支持其中的一些函数.鱼叔说用Snoop这个类来实现.但是我对飞信的通信协议还没有弄明白.它是混合协议的,以我现在的能力还无法对它做全面的了解,目前也没有这个时间.所以我今天给大家介绍个新的办法.也能很好的解决留言提醒的问题.
这个替代的办法就是给139邮箱发邮件.这个也是免费的服务.其实现在已经有不少的博友开始使用这个了.前提是你激活了邮箱,并且设置了新邮件短信提醒. 具体的实现思路是用 comment_post 这个钩子调用个发邮件的函数.并向它传递参数以获得评论的相关内容.你可以将以下代码放入你主题的functions.php中.
add_action('comment_post', create_function('$cmid', 'return philna_comment_send_mail($cmid);')); function philna_comment_send_mail($cmid){ /* 这个是从官方找到的get_commentdata的用法: get_commentdata( $comment_ID, $no_cache = 0, $include_unapproved = false ) */ $commentdata = get_commentdata($cmid,1,true); $comment_author=$commentdata['comment_author']; $commentcontent=$commentdata['comment_content']; $post_id=$commentdata['comment_post_ID']; $post=get_post($post_id); $post_title=$post->post_title; $message=$comment_author.' 在日志: <em>'.$post_title.' </em><strong>说 :</strong> '.$commentcontent; $blogname = get_option('blogname'); $charset = get_option('blog_charset'); $mail_headers = "From: $blogname \n" ; $mail_headers .= "MIME-Version: 1.0\n"; $mail_headers .= "Content-Type: text/html;charset=\"$charset\"\n"; $to='你的手机号@139.com'; $subject='博客评论提醒 来自:'.$comment_author; @wp_mail($to, $subject,$message,$mail_headers); }
很多的朋友对我插件提出了意见.要求给多个人发短信,因为他的网站有多个管理员,这里很容易实现的,你可以修改$to变量.每个邮箱以半角的逗号分开即可.就像这样:
$to='第一个手机号@139.com,第二个手机号@139.com';
这个也容易实现,我们对$commentdata这个数组中的comment_approved键值判断一下就好.你可在获取到$commentdata后,追加如下代码:
$comment_state=$commentdata['comment_approved']; if($comment_state=='spam'){ return; }
也有人和我说到这个了.他的博客评论太多,骚扰的很厉害,他只想收到他很关注的朋友们的评论信息.这个要求也不难实现,你可在$comment_author后面追加以下代码:
$my_friends_list=array('朋友的名字1','朋友的名字2','朋友的名字3'); //上面的数组你还可以追加多些名字. if(!in_array($comment_author,$my_friends_list)){ return; }
嗯,基本的扩展就是这么多了.关于时间段的限制没有必要到这里实现,因为移动的短信提醒有自己的设置的.
要注意的事项.代码里面出现了中文,所以你最好保存成UTF-8无BOM的格式.
这个替换的方式因该要比我之前写的插件要好些也没有什么延时.因为不需要考虑移动飞信端口的稳定性,以及你的博客服务器等复杂因素了.只是发个邮件.仅此而已.
如果你的主机不支持发送邮件!那我真的很囧.你找个SMTP的插件试试吧.
关于Comment Fetion Alert(评论飞信提醒)这个插件我真的没有更新的打算.其中的fetion类也不是我写的.我只是修改了一下.如果谁知道作者一定要告诉我啊,先谢谢了.我的能力非常有限.php还没有学好呢,对于那种混合性的通信模式真是无能为力.如果你有好的实现办法,倒是很欢迎和我讨论.有机会的话,我们可以继续开发一下这个插件.哈哈.
声明:本站遵循署名-非商业性使用-相同方式共享3.0共享协议. 转载请注明转自 PhilNa ™
不错很适合我
我直接在插件里加入 $comment_state=$commentdata['comment_approved']; if($comment_state==’spam’){ return; } 不就行了?
这个好像会把待审的评论也提醒吧?
关键,管理员回复也发短信 =。=如何屏蔽 – - (ps:偶在别的地方下到了别人加过防止spam的飞信提醒插件!=。=
评论短信提醒 (补充)
之前我写了个插件用飞信来提醒有新评论.但是很多的博客主机并不支持其中的一些函数.鱼叔说用Snoop这个类来实现.但是我对飞信的通信协议还没有弄明白.它是混合协议的,以我现在的能力还无法对它做全面的了解,目前也没有这个时间.所以我今天给大家介绍个新的办法.也能很好的解决留言提醒的问题.
这个替代的办法就是给139邮箱发邮件.这个也是免费的服务.其实现在已经有不少的博友开始使用这个了.前提是你激活了邮箱,并且设置了新邮件短信提醒.
具体的实现思路是用 comment_post 这个钩子调用个发邮件的函数.并向它传递参数以获得评论的相关内容.你可以将以下代码放入你主题的functions.php中.
扩展
给多个用户提醒
很多的朋友对我插件提出了意见.要求给多个人发短信,因为他的网站有多个管理员,这里很容易实现的,你可以修改$to变量.每个邮箱以半角的逗号分开即可.就像这样:
对Spam不进行提醒
这个也容易实现,我们对$commentdata这个数组中的comment_approved键值判断一下就好.你可在获取到$commentdata后,追加如下代码:
只针对我指定的朋友提醒
也有人和我说到这个了.他的博客评论太多,骚扰的很厉害,他只想收到他很关注的朋友们的评论信息.这个要求也不难实现,你可在$comment_author后面追加以下代码:
嗯,基本的扩展就是这么多了.关于时间段的限制没有必要到这里实现,因为移动的短信提醒有自己的设置的.
要注意的事项.代码里面出现了中文,所以你最好保存成UTF-8无BOM的格式.
补充说明.
这个替换的方式因该要比我之前写的插件要好些也没有什么延时.因为不需要考虑移动飞信端口的稳定性,以及你的博客服务器等复杂因素了.只是发个邮件.仅此而已.
如果你的主机不支持发送邮件!那我真的很囧.你找个SMTP的插件试试吧.
关于Comment Fetion Alert(评论飞信提醒)这个插件我真的没有更新的打算.其中的fetion类也不是我写的.我只是修改了一下.如果谁知道作者一定要告诉我啊,先谢谢了.我的能力非常有限.php还没有学好呢,对于那种混合性的通信模式真是无能为力.如果你有好的实现办法,倒是很欢迎和我讨论.有机会的话,我们可以继续开发一下这个插件.哈哈.
声明:本站遵循署名-非商业性使用-相同方式共享3.0共享协议. 转载请注明转自 PhilNa ™