wordpress使用Server酱通知新评论

PHP, 折腾 2018/03/21

上一篇《腾讯云下wordpress发邮件慢的一个解决方法》,jevin 说太复杂,使用wp的邮件系统总是会有各种问题需要折腾。

所以介绍一个新的通知方法,比邮件省心,速度还快。利用 Server酱 给博主发送微信通知消息。

关于Server酱,其主页已经有详细的介绍,我总结一下:

接收者使用微信关注公众号并绑定,通过其提供的API,实现发送微信的模板消息(通知消息)

关注绑定的方法就不多说了。开始添加到WP:

以下代码插入到主题functions.php任意位置即可

function sendFTQQ($comment_ID,$comment_approved){
	//判断评论是否为垃圾评论
	if( 1 === $comment_approved){
		$comment = get_comment($comment_ID);
		//判断评论者邮箱是否是管理员邮箱,如果是,则不发送通知
		if($comment->comment_author_email != get_bloginfo ('admin_email')){
			$author=$comment->comment_author;
			$content=$comment->comment_content;
			$comment = $author.':'.$content.'';
			$SCKEY = "你申请到的Server酱KEY";
			$url = 'https://sc.ftqq.com/'.$SCKEY.'.send?desp='.urlencode($comment).'&text='.urlencode("博客新评论通知");
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL, $url);
			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
			curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
			curl_setopt($ch, CURLOPT_SSLVERSION , CURL_SSLVERSION_DEFAULT);
			curl_setopt($ch, CURLOPT_POST, TRUE);
			curl_setopt($ch, CURLOPT_POSTFIELDS, $data);        
			curl_setopt($ch, CURLOPT_TIMEOUT, 1);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
			$result = curl_exec($ch);
			curl_close($ch);
			return;
		}
	}
}
add_action( 'comment_post', 'sendFTQQ', 10, 2 );

注:其中curl可以使用file_get_contents代替,只不过本文给出的函数将curl超时设置为1秒

这样做即使Server酱服务器出现问题,从前台提交新评论的时候依然不会卡住影响体验

本文标签:


一条评论

  • Summer 评论于 回复

    使用代码之后打开页面提示这个是什么原因
    Call to undefined function add_action()

  • 评论(本站已开启评论回复邮件通知功能,请如实填写邮箱以便及时收到回复)关闭回复