您现在的位置是:首页 > 网站制作 > WordpressWordpress
微信公众号连接wordpress免插件技巧
杰帅2023-08-13【Wordpress】人已围观
简介将wordpress网站与微信公众号无缝对接
将wordpress网站与微信公众号无缝对接
微信公众号当前是每个用户都在使用的功能,而使用wordpress程序的站长会希望把自己的网站连接到微信公众号。连接后通过公众号访问网站的内容。
而想实现两边的对接功能并不难,现在可以通过安装wordpress插件实现,目前有水煮鱼开发的微信机器人、xsoft开发的Weixinpress、以及wptao开发的微信机器人。本人极力推荐水煮鱼的微信机器人当前已免费而且在不断更新中。
对于许多不想安装插件的站长而言。插件是能少则少(可能是个人癖好)。再说现在的微信机器人 5.0 版本对服务器要求较高,只支持 Linux 服务器,PHP 要求 7.2 ,服务器支持 Memcached。还需要额外安装插件WPJAM,看到这里可能有很多小站长只能望而却步了。
这里为大家介绍的是只用简单代码把WP和公众号连接的方法,不用插件操作简单,缺点功能相对较少,连接后可以实现公众号通过关键字调取网站内容,搜索文章,对于许多站长来说已经足够用了,让你的公众号不在缺少内容,
安装方法:
一、下载代码文件,修改代码内的信息
1.是将代码中的数据库链接信息,改成你WordPress的数据库链接信息
2.默认的token为weixin,可修改为自己的token,需要与微信公众号后台的token对应
二、将修改好文件上传至wp网站内的任意目录
三、进入微信公众号平台-基本配置-服务器配置-设置里面设置对接信息
(url是上传文件的位置。注意token的值,需要和代码token完全相同)
提交后就可以实现wordpress网站与微信公众号的对接功能了。
此代码只是简单连接到微信公众号,并不支持后台操作功能
下载文件:https://pan.baidu.com/s/12Mp65ybbX2g2GKDhrcDb2w
提取码: vv98
代码如下:
<?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[https://logo.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);
}
}
?>
Tags:wordpress插件 wordpress教程 微信公众号
很赞哦! ()
相关文章
- WordPress插件制作教程(八): 最后总结
- WordPress插件制作教程(七): 插件函数之过滤器(Filter)
- WordPress插件制作教程(六): 插件函数之动作(Actions)函
- WordPress插件制作教程(五): 创建新的数据表
- WordPress插件制作教程(四): 将数据保存到数据库
- WordPress插件制作教程(三): 添加菜单的方法
- WordPress插件制作教程(二): 编写一个简单的插件
- WordPress插件制作教程(一): 如何创建一个插件
- 如何制作wordpress 网站搜索功能| WordPress教程网
- 使用WP-CLI重新安装所有WordPress插件及主题教程 - 搬
随机图文
-
WordPress 页面模板(Page Template)下拉列表不显示的原因及解决方法
WordPress 的自定义页面模板是一个非常强大好用的功能,使用它新建一些静态页面(Page),添加上一些数据调用的函数,再在网页上做一个导航连接到对应的页面就可以实现很多自定义的功 -
wordpress发布文章HTML标签被自动过滤掉该如何处理?
wordpress发布文章时很多html标签都会自动过滤掉,造成了文章中无法添加<style></style><script></script>等标签。那么该如何如何处理呢? 解决方法一: 将wp-includes文件夹下 -
wp_reset_postdata 和 wp_reset_query 的作用与区别
什么时候使用wp_reset_query,什么时候用wp_reset_postdata? -
wordpress 上传的图片不显示的问题 base64,data:image/gif