鉴于这个功能相关的文章,之前都是参考了多个博主的文章,并且插件主要应用于“handsome”主题,所以有很多地方,需要修改代码,又有很多无用的代码。经常有网友会遇到各种各样的问题,无奈。。。所以我把代码全部重写了。。。直接按下面步骤即可,无需修改代码!
申请微信公众号
我这里用的微信测试公众号,申请简单,如果没有其他特殊需求,够用了。传送门:测试公众号
安装时光机
- 下载压缩包
Times_1
,传送门:抱歉,隐藏内容 回复 后可见 - 使用一个新的单独的域名(一级、二级均可,非博客)(微信公众号不支持二级目录作为接口地址),如果你的博客是https://blog.xxx.cn,那么这个域名可以是https://weixin.xxx.cn。
- 将
Times_1
解压后,上传到这个域名的根目录下。执行安装https://weixin.xxx.cn/install.php
这里看黑板!敲重点!数据库,直接填写你博客的数据库配置。别担心,不会覆盖或清空,仅仅增加了一个chrison_weixin表。当然,还是要常常做好数据备份工作。
公众号ID和公众号secret填公众号给你的信息。token请填写固定值:spDJ7DdtqJ1nnUdLnfCx
。aes_key可以不填。apiKey可以去高德开发者处申请,用于后续地图的显示,选填。
- 填写完信息点击“安装”,如果没有其他提示,则安装完成。然后去微信公众号页面配置服务器接口:URL填写
https://weixin.xxx.cn/server.php
;Token填写固定值:spDJ7DdtqJ1nnUdLnfCx
。提交后显示配置成功,则公众号与服务器已对接完成。
- 扫码关注自己的公众号,应该会显示一部分帮助信息,发送
绑定
关联博客。填写相关信息,点击“绑定”即可。
网址:你的博客地址。如:https://blog.xxx.cn
openid:一般会自动获取
cid:时光机/说说的页面cid(可在后台鼠标放在标题上获得)
cid密钥:时光机/说说的页面内,增加自定义参数timescode
,值自行定义,以防止他人操作发布(后台设置的timescode值,要和这里的cid密钥一致)
mid:你想要发布文章的所属分类(可在后台获得)
时光机与博客联动
- 下载压缩包
Times_2
,传送门:抱歉,隐藏内容 回复 后可见 - 将解压后的文件夹
times
放置在博客主题目录下,即与functions.php
文件同级。 - 打开编辑
functions.php
文件,引入文件require_once 'times/func.php';
- 大功告成!公众号内可测试发送。
若微信公众号内提示Call to undefined function getIp()
如果自己代码中有获取IP的方法,可以自行调用。如果没有,可以在functions中添加如下代码:
//获取IP
function getIp(){
$ip= '-';
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
{
$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
{
$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}
elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
{
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif (getenv("HTTP_X_FORWARDED_FOR"))
{
$ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_IP"))
{
$ip = getenv("HTTP_CLIENT_IP");
}
elseif (getenv("REMOTE_ADDR"))
{
$ip = getenv("REMOTE_ADDR");
}
else
{
$ip = "Unknown";
}
return $ip;
}
- Ver 1.0
1.支持单文字发布
2.支付单图片发布
3.支持图文混合发布
4.支持地图发布
- Ver 2.0
1.支持文章图文发布
2.发送语音仅会保存文件,暂不支持发布
TeacherDu 博友
哎呦,不错哦~
Chrison 博主
@TeacherDu : 杜老师有没有amr快速转mp3的方法?不想在服务器安装ffmpeg。
祈里 初识
我也来试试这个,虽然很少用微信发说说
Chrison 博主
@祈里 : 好的。试用下。才调试了一版。
荒野孤灯 博友
反馈:1、引入 require_once 'times/func.php';后页面和文章编辑页设置栏及字段栏不见了;2、公众号已绑定,但访问/server.php说未绑定。测试,无反应。
Chrison 博主
@荒野孤灯 : 引入的前后上下文都截图看下。server.php是公众号处填写,不会说未绑定吧,只会说失败。几个地方的图可以都截我看看
荒野孤灯 博友
@Chrison : 直接访问server.php,
Chrison 博主
@荒野孤灯 : 不要自己访问server啊,这个地址是公众号那边填的,是要带token请求的
荒野孤灯 博友
@Chrison : 没反应后,我就试着看看
荒野孤灯 博友
@Chrison :
Chrison 博主
@荒野孤灯 : 这个路径对吗。我昨天测试过,就是引用是空内容,也是不会报错的。
荒野孤灯 博友
@Chrison :
荒野孤灯 博友
@荒野孤灯 : 引入 require_once 'times/func.php';后网站前端打不开
Chrison 博主
@荒野孤灯 : DyUtils.php 中,搜索方法CommentAuthor,删除
荒野孤灯 博友
@Chrison : 删了这个后可以了,但不能发图片:信息缺失
Chrison 博主
@荒野孤灯 : 图片? 文字可以?还是都不行
Chrison 博主
@荒野孤灯 : 让你当吃螃蟹的人,v1.0版 就是文字的发布,其他我还没调试完。
荒野孤灯 博友
@Chrison : 好了,小白鼠任务完成。
荒野孤灯 博友
@Chrison : 还有个问题,为什么ip地址都是亚太地区?
Chrison 博主
@荒野孤灯 : 刚刚删除的那一段,是因为和function里的方法重复了。可能也就仙人掌主题正好有吧。主要是我这边测试,上面会提示第几行有问题。你的应该没有显示报错说明,所以看不到。下午可以再更新一部分。敬请期待。
荒野孤灯 博友
@Chrison : 牛 逼
Chrison 博主
@荒野孤灯 : 因为是你的服务器帮你发的,就是你服务器的IP,你的好像是香港。你可以去你的IP转省份的地方,单独处理成别的文字。我是单独判断处理了。`function ip2regionFull($ip){$data = ip2region($ip); if($ip === '47.11.11.11'){ $data['province'] = '阿里云'; $data['city'] = ''; } return $data['province'].$data['city'];}`
Chrison 博主
@荒野孤灯 : 重新下载Time_1,覆盖server.php即可。
1.支持单文字发布
2.支付单图片发布
3.支持图文混合发布
4.支持地图发布
荒野孤灯 博友
@Chrison : 3.支持图文混合发布 ,这个怎么发?
Chrison 博主
@荒野孤灯 : 发送‘开始’。。。发图片。。。发文字。。。发。。。发。。。发送'结束'
Chrison 博主
@荒野孤灯 : 一步一步来,首先确保,引入require_once 'times/func.php';这个不报错。
Chrison 博主
@Chrison : 稍等,我用这个主题试一次
荒野孤灯 博友
是嘛,就是要这样的傻瓜式教程,我这个小白也能看懂了,哈哈
Chrison 博主
@荒野孤灯 : 快试试!就一次安装,一次绑定。也没啥其他操作了。