wordpress使用Server酱通知新评论

发布于 2021-01-24  164 次阅读


# 前言

“Server酱” 混恩山的盆友应该不会陌生,英文名「ServerChan」, 是一款「程序员」和「服务器」之间的通信软件。通俗点讲,就是从服务器推送报警和日志到手机的工具。hiboy大佬的老毛子固件就集成了这一功能,我一直用它来推送新固件提醒和新设备的接入提醒。

# 食用方法

  • 教程、项目地址: http://sc.ftqq.com/
  • 如果是第一次使用此服务要做的是获得一个 SCKEY,步骤:
  • 登入:用 GitHub 账号登入网站,就能获得一个 SCKEY(在「发送消息」页面);
  • 绑定:点击「微信推送」,扫码关注同时即可完成绑定;

  • 以下代码插入到正题functions.php任性位置便可

function sendFTQQ($comment_ID,$comment_approved){

    //断定讨论能否为渣滓讨论

    if( 1 === $comment_approved){

        $comment = get_comment($comment_ID);

        //断定讨论者email能否是管理员email,如果是,则不发送告知

        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 );

以上代码添加到 function.php文件保存即可。

# 后记

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

这样做就算Server酱服务器出现问题,从前台提交新讨论的时候仍旧不会卡住影响体会


本当の声を響かせてよ