微信公众号当前是每个用户都在使用的功能,而使用wordpress程序的站长会希望把自己的网站连接到微信公众号。连接后通过公众号访问网站的内容。那么WordPress网站连接微信公众号除了安装WordPress插件外,还有哪些技巧呢?对于许多不想安装插件的站长而言。插件是能少则少(可能是个人癖好)。再说现在的微信机器人 …
微信公众号当前是每个用户都在使用的功能,而使用wordpress程序的站长会希望把自己的网站连接到微信公众号。连接后通过公众号访问网站的内容。那么WordPress网站连接微信公众号除了安装WordPress插件外,还有哪些技巧呢?
对于许多不想安装插件的站长而言。插件是能少则少(可能是个人癖好)。再说现在的微信机器人 5.0 版本对服务器要求较高,只支持 Linux 服务器,PHP 要求 7.2 ,服务器支持 Memcached。还需要额外安装插件WPJAM,看到这里可能有很多小站长只能望而却步了。
这里为大家介绍的是只用简单代码把WP和公众号连接的方法,不用插件操作简单,缺点功能相对较少,连接后可以实现公众号通过关键字调取网站内容,搜索文章,对于许多站长来说已经足够用了,让你的公众号不在缺少内容,
安装方法:
一、下载代码文件,修改代码内的信息
1.是将代码中的数据库链接信息,改成你WordPress的数据库链接信息
2.默认的token为weixin,可修改为自己的token,需要与微信公众号后台的token对应
二、将修改好文件上传至wp网站内的任意目录
三、进入微信公众号平台-基本配置-服务器配置-设置里面设置对接信息
提交后就可以实现wordpress网站与微信公众号的对接功能了。
此代码只是简单连接到微信公众号,并不支持后台操作功能
代码如下:
<?php//上传到根目录,公众平台验证https://xxx.com/weinxin.php//获取数据并排序$timestamp=$_GET['timestamp'];$nonce=$_GET['nonce'];$token='weixin'; //此处添加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=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也可直接进入<a href='https://www.xxxx.com' target="_blank" rel="nofollow" >xxxx网</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(‘localhost’,’数据库用户名’,’数据库密码’,’数据库名’);//此处修改数据库链接信息,请正确填写$sql = “select * from wp_posts where post_title like ‘%$postcontent%’ and post_status=’publish'”;$result = mysqli_query($conn,$sql);$row=mysqli_fetch_all($result,MYSQLI_ASSOC);$toUser=$postObj->FromUserName;$fromUser=$postObj->ToUserName;$time=time();if(count($row) <= 8 && count($row) != 0){$MsgType='news';$template ='<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><ArticleCount>%s</ArticleCount><Articles>‘;foreach ($row as $key => $value) {$template .=”<item><Title><![CDATA[".$value['post_title']."]]></Title><Description><![CDATA[点击查看]]></Description><PicUrl><![CDATA[04/qlolzk3lkdy.png]]></PicUrl><Url><![CDATA[".$value['guid']."]]></Url></item>“;}$template .=’</Articles></xml>‘;$info=sprintf($template,$toUser,$fromUser,$time,$MsgType,count($row));echo $info;}else if(count($row) == 0){$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;}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);}}?>
评论(0)