国内的一些云服务商都关闭了25端口,所以当你在wordpress后台勾上“有人发表评论时发送邮件通知我”,你压根就收不到邮件。就不能及时回复朋友们的留言。所以得另辟蹊径。
Server酱
是什么
「Server酱」,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。
说人话?就是从服务器推报警和日志到手机的工具。
开通并使用上它,只需要一分钟:
- 登入:用GitHub账号登入网站,就能获得一个SCKEY(在「发送消息」页面)
- 绑定:点击「微信推送」,扫码关注同时即可完成绑定
- 发消息:往 http://sc.ftqq.com/SCKEY.send 发GET请求,就可以在微信里收到消息啦
来个示意图:
为什么
是的是的,有很多的客户端都可以做到这个功能,比如Slack。那为什么我还要写一个呢?因为它们总是给得太多,我只是要一个简简单单的消息接收器而已。
这也成为了「Server酱」的设计目标:功能越少越好。
- 只有一个接口:每次调用接口,我们都要去读N长的API说明文档,看得头昏眼花。所以ServerChan只有一个接口,只要会输入网址,你就会用。
- 一分钟完工:注册账号是狠麻烦的事情,所以我们用GitHub账号;输入账号是狠讨厌的事情,所以我们用绑定二维码。所有这些流程都保证了一个程序员可以在一分钟内配置好「Server酱」,并收到第一条推送消息。你问没有GitHub账号的怎么办?没GitHub账号的还能叫程序员么?
- 可免客户端:安装客户端对很多用户来说是一种痛苦,但申请微信公号是更大的痛苦,所以我们直接申请好了给你用,就什么痛苦都没了。
应用场景
「Server酱」本质上是一个有着GET接口的可编程消息接收器,所以你可以创造出各种玩法来。
服务器异常报警
在写代码的时候,我们往往会遇到一些可能出现的异常。比如我们的简历分析系统,每隔几天就会出现一份不能分析的简历、我们的邮件发送系统,每发100份激活邮件总有几个被弹回。原来这种时候我们都是在服务器上打下一些日志,然后就再也没有然后了。现在你可以用一行代码把消息推送到「Server酱」。
file_get_contents('http://sc.ftqq.com/SCKEY.send?text='.urlencode('主人第250号简历分析失败啦~'));
调试无法在网页显示回调内容
比如在调试微信接口时,微信服务器会回调我们的服务器。这时候页面的输出是无法看见的。但你可以轻松的把它通过「Server酱」发送到手机上。
向手机发送内容
有时候需要往手机发送一些备用信息,比如电话、地址、网址和图片。因为「Server酱」支持Markdown,所以可以很轻松的完成。
我们在「发送消息」页面提供了一个在线发送工具。
这样你就不用总是在地址栏发消息了。消息内容中填入
[方糖气球](http://ftqq.com)
就可以推送链接;填入
![logo](http://sc.ftqq.com/static/image/bottom_logo.png)
就可以推送图片。在「Server酱」中,直接点击链接和图片,可以在系统浏览器中打开。
注:在 Markdown 语法中,两个空行才是换行,不能换行的同学多加个回车应该就好啦。
整合进wordpress
你当前使用的wordpress主题的目录里面有个functions.php,打开functions.php最后一行是“?>”,把下面的内容加入这一行的上面。记得替换你的 SCKEY。
//评论微信推送 function sc_send($comment_id) { $text = '博客上有一条新的评论'; $comment = get_comment($comment_id); $desp = $comment->comment_content; $key = '你的SCKEY'; #换成你自己的SCKEY $postdata = http_build_query( array( 'text' => $text, 'desp' => $desp ) ); $opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postdata ) ); $context = stream_context_create($opts); return $result = file_get_contents('http://sc.ftqq.com/'.$key.'.send', false, $context); } add_action('comment_post', 'sc_send', 19, 2);
微信推送新评论效果
完成上面操作之后,当博客有新评论的时候,微信就会收到提醒,速度很快基本上没有延时。
但有一个问题,我只能看到朋友们评论的内容,看不到评论的是哪一篇文章。
改进
我们在刚才的代码中添加一个文章ID进去($comment->comment_post_ID)。
//评论微信推送 function sc_send($comment_id) { $text = '博客上有一条新的评论'; $comment = get_comment($comment_id); $desp = $comment->comment_post_ID.$comment->comment_content; #添加在这行 $key = '你的SCKEY'; #换成你自己的SCKEY $postdata = http_build_query( array( 'text' => $text, 'desp' => $desp ) ); $opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postdata ) ); $context = stream_context_create($opts); return $result = file_get_contents('http://sc.ftqq.com/'.$key.'.send', false, $context); } add_action('comment_post', 'sc_send', 19, 2);
再看效果
此时,我就知道是//hqidi.com/100.html上有新评论。
若你的固定链接设置不是/%post_id%.html,可以用$comment->comment_post_title获取文章标题。微信推送的内容里面就有文章标题,你就知道被评论的文章是哪一篇了。
原创文章,转载请注明: 转载自笛声
本文链接地址: WordPress新评论微信提醒
25 条评论
你不是不用微信吗!?
用啊,从2011年到现在,微信好友已经快20人了呢。
我微信里的人也不多
这个我可以考虑整合了哎~~
Emlog方面还没有相关教程出来,你可以写一篇,顺便,移动端,你用的啥RSS订阅博客?
我用的inoreader。另外你的回复还是没有邮件通知啊
一直都有邮件通知,发件人是root@hqidi.xin,刚刚特意测试了。
我收到了。= =
好厉害,已经可以微信了。。邮件不用了
这个方法确实不错,不过我每天都会登录后台看看评论,所以提不提醒也无所谓了
我都是登录qq直接就邮件提醒了~
博主,你好,boke112导航特来拜会,已将贵站收录到博客导航的建站技术类,谢谢支持!
谢谢你的支持。
确实便利了
这个牛逼
哈哈,一直在用这个,还是挺不错的。
这个确实方便,不过我还是更习惯用邮件接收提醒,反正我也没几个评论要回复的(*╹▽╹*)
不错,我之前用的只有内容,不知道是哪篇文章的评论,这下可以改进了。
这个方法强大!增加微信社交肯定不错!!
示意图看不到了。
懒的折腾.jpg
欢迎光临.WebP
看起来很不错的样子,只是没什么人,不想说话了
学习了,有时间试试,虽然我的连邮件提醒都没有,放寒假了必须该折腾折腾了。
微信每天一个样