免插件实现WordPress链接公众号并查询返回自定义信息

大T笔记公众号和博客wordpress实现对接。
功能需求很简单,就是在公众号加入后台回复车牌,返回对应的资源提取码。
实现起来也很简单,网上找了一段代码改了一下,以下代码仅供参考。
由于接口限制,未做用户关注统计,后期更改公众号性质加入关注用户性质,查询是否以前关注并取消过,如果取消又关注不返回内容。
<?php
    //获取数据并排序
 $timestamp=$_GET[‘timestamp’];
 $nonce=$_GET[‘nonce’];
 $token=’xxxxx’; //token
 $signature=$_GET[‘signature’];
 $array = array($timestamp,$nonce,$token);
 sort($array);
    //拼接数据并sha1加密
 $tmpstr=implode(”, $array);
 $tmpstr=sha1($tmpstr);
    //数据验证
 if($tmpstr==$signature && $_GET[‘echostr’]){
  echo $_GET[‘echostr’];
  exit;
  }else{
   reponseMsg();
  }
 function reponseMsg(){
    //$postArr=$GLOBALS[‘HTTP_RAW_POST_DATA’];
  //$postObj=simplexml_load_string($postArr);
 $postArr=file_get_contents(‘php://input’);
    $postObj=simplexml_load_string($postArr);
  if(strtolower($postObj->MsgType)==’event’){
     if(strtolower($postObj->Event)==’subscribe’){
    $toUser=$postObj->FromUserName;
    $fromUser=$postObj->ToUserName;
    $time=time();
    $MsgType=’text’;
    $content=”大神,等您好久了!!\n八小时之外个人提升您来对地方了\n直接回复车牌获取资源提取码\n更多知识请进入<a href=’https://www.bigtspace.com’>大T笔记</a>”;
    $template=” <xml>
      <ToUserName><![CDATA[%s]]></ToUserName>
      <FromUserName><![CDATA[%s]]></FromUserName>
      <CreateTime>%s</CreateTime>
      <MsgType><![CDATA[%s]]></MsgType>
      <Content><![CDATA[%s]]></Content>
      </xml>”;
   $info=sprintf($template,$toUser,$fromUser,$time,$MsgType,$content);
   echo $info;
   }
  }
   if(strtolower($postObj->MsgType)==’text’){
    $postcontent=$postObj->Content;
    $conn=mysqli_connect(‘xxx’,’xxx’,’xxx’,’xxx’);//这里修改数据库链接信息
    $sql = ”  “;
    $result = mysqli_query($conn,$sql);
    $row=mysqli_fetch_all($result,MYSQLI_ASSOC);
    $toUser=$postObj->FromUserName;
  $fromUser=$postObj->ToUserName;
  $time=time();
  if(count($row) != 0){
  $MsgType=’text’;
  $content=”;
  foreach ($row as $key => $value) {
               $content .=”资源名称:”.$value[‘resource_name’].”\r\n”.”网盘提取码: “.$value[‘baidu_down_pwd’];
         }
    $template =’ <xml>
        <ToUserName><![CDATA[%s]]></ToUserName>
        <FromUserName><![CDATA[%s]]></FromUserName>
        <CreateTime>%s</CreateTime>
        <MsgType><![CDATA[%s]]></MsgType>
        <Content><![CDATA[%s]]></Content>
        </xml>’;
   $info=sprintf($template,$toUser,$fromUser,$time,$MsgType,$content);
   echo $info;
  }else if(count($row) == 0){
   $MsgType=’text’;
   $content=”暂未检索到相关资源,请到 <a href=’https://www.bigtspace.com’>大T笔记</a> 检查车牌是否正确”;
      $template=” <xml>
        <ToUserName><![CDATA[%s]]></ToUserName>
        <FromUserName><![CDATA[%s]]></FromUserName>
        <CreateTime>%s</CreateTime>
        <MsgType><![CDATA[%s]]></MsgType>
        <Content><![CDATA[%s]]></Content>
        </xml>”;
     $info=sprintf($template,$toUser,$fromUser,$time,$MsgType,$content);
     echo $info;
  }else{
   $MsgType=’text’;
   $content=’符合关键字的文章太多,请多输入几个字再次检索’;
      $template=” <xml>
        <ToUserName><![CDATA[%s]]></ToUserName>
        <FromUserName><![CDATA[%s]]></FromUserName>
        <CreateTime>%s</CreateTime>
        <MsgType><![CDATA[%s]]></MsgType>
        <Content><![CDATA[%s]]></Content>
        </xml>”;
     $info=sprintf($template,$toUser,$fromUser,$time,$MsgType,$content);
     echo $info;
  }
  mysqli_close($conn);
   }
 }
 ?>