WordPress可以使用Server酱微信的通知插件实现推送评论消息到企业微信,但是这个插件每天也只有 5 条免费的消息推送,之后都是要订阅收费的,只有付费了才能无限推送,于是想着自己搞一个小插件,现在利用企业微信推送是没有任何消息限制的,也更安全方便,只需要自己注册一下企业微信,其余的根据教程来配置就好了。
一、教程开始
1、没有企业微信的下载一下企业微信,点我-企业微信官网直达
2、注册一个企业微信,个人微信号就可以注册,无需认证企业(PS:不会影响你之前的加入过的企业)
3、注册好之后进入企业微信后台点击应用管理—创建应用 企业微信后台直达
4、创建应用成功之后根据自己要求修改下头像名字设置,随意就行
5、获取企业 ID 和应用的 AgentId 和 Secret 方式 看下图
Secret 获取方式预览
企业 ID 获取方式预览
二、主要代码文件添加
在服务器中新建一个文件夹,例如(wxts)然后创建一个 index.php 文件将下面代码复制进去,不懂看下图
你只需要填写文件中的 13 行 14 行和 77 行,把刚才企业 ID 和应用 AgentId 及 secret 填写进去即可,其他地方不要动!
$access_token[expires]){ // 如果已经过期就得重新获取并缓存 $access_token = array(); $access_token[access_token] = getNewToken($corpid,$corpsecret); $access_token[expires]=time()+7000; // 将数组写入 php 文件 $arr = ; $arrfile = fopen("./access_token.php","w"); fwrite($arrfile,$arr); fclose($arrfile); // 返回当前的 access_token return $access_token[access_token]; }else{ // 如果没有过期就直接读取缓存文件 return $access_token[access_token]; }} // 获取新的 access_tokenfunction getNewToken($corpid,$corpsecret){ $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={$corpid}&corpsecret={$corpsecret}"; $access_token_Arr = https_request($url); return $access_token_Arr[access_token];} // curl 请求函数function https_request ($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $out = curl_exec($ch); curl_close($ch); return json_decode($out,true);} // 发送应用消息函数function send($data){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=.getToken()); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); return curl_exec($ch);} // 文本卡片消息体$postdata = array( touser => @all, msgtype => textcard, agentid => 应用的 AgentId,//这里填写你刚创建的应用 AgentId textcard => array( title => $title, description => $description, url => $url, btntxt => 阅读全文, ), enable_id_trans => 0, enable_duplicate_check => 0, duplicate_check_interval => 1800); // 调用发送函数echo send(json_encode($postdata));?>
代码修改位置 13-14 行
代码修改位置 77 行
三、wordpress 博客中引用代码
将下面代码添加到你的主题目录中的 functions.php 文件最后即可,
注意修改代码中的 29 行把刚才的文件地址放进去就可以,不懂的话看下图
//企业微信推送消息功能代码开始function push_weixin($comment_id){ // 通过 comment_id 获取 comment 全部信息 $comment = get_comment($comment_id); $siteurl = get_bloginfo(url); // 根据自己需求,产生相关描述,可以包括文章内容、评论人、IP、评论内容等 $title = 文章 《 . get_the_title($comment->comment_post_ID) . 》 有新评论啦!; $desp = "作者: $comment->comment_author \n 邮箱: $comment->comment_author_email \n 评论: $comment->comment_content"; $url = "$siteurl/?p=$comment->comment_post_IDcomments"; // 封装一个 Object 对象,其 msg 字段是我们需要推送到 QQ 的消息内容 $postdata = http_build_query( array( title => $title, description => $desp, url => $url ) ); // 一个 POST 请求 $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(你创建的接口地址/index.php, false, $context);}// 挂载 WordPress 评论提交的接口add_action(comment_post, push_weixin, 19, 2);//企业微信推送消息功能代码结束
代码修改位置
四、微信接收消息
这一步是最简单的,进入企业微信管理后台–点击我的企业—找到 微信插件 扫描邀请关注的二维码即可
最后预览效果
左边是企业微信通知效果,右边是微信的通知效果