鉴于这个功能相关的文章,之前都是参考了多个博主的文章,并且插件主要应用于“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.发送语音仅会保存文件,暂不支持发布
smjcxf 朋友
来看看 我的不知道为什么不能用了
smjcxf 朋友
@smjcxf : 兄弟 你这个从哪下载
Chrison 博主
@smjcxf : 上面应该已经可以看到了
smjcxf 朋友
@Chrison : 兄弟 我把times放到usr/themes/handsome 目录下了functions.php加入引用 require_once 'times/func.php'; 网站就打不开了
functions.php 里内容
<?php
if (!defined('__TYPECHO_ROOT_DIR__')) exit;error_reporting(0);
ini_set('display_errors', 0);// 如果需要显示 PHP 错误,取消下面两行注释。修复问题后记得关闭!
// error_reporting(E_ALL);
// ini_set("display_errors", 1);/**主题后台必须引入的组件
*/// 需要的组件
require_once("libs/utils/Database.php");
require_once("libs/Options.php");
require_once("libs/CDN.php");
require_once("libs/Lang.php");
require_once("libs/I18n.php");
require_once("libs/Handsome.php");
require_once("libs/Request.php");
require_once("libs/HAdmin.php");
require_once("libs/component/UA.php");
require_once("libs/component/Device.php");
require_once("functions_mine.php");// 引入 'times/func.php'
require_once 'times/func.php';/ 表单组件 /
$prefix = Utils::getMixPrefix();
require_once("libs/admin/".$prefix."FormElements.php");
require_once('libs/admin/'.$prefix.'Checkbox.php');
require_once('libs/admin/'.$prefix.'Text.php');
require_once('libs/admin/'.$prefix.'Radio.php');
require_once('libs/admin/'.$prefix.'Select.php');
require_once('libs/admin/'.$prefix.'Textarea.php');
Chrison 博主
@smjcxf : 使用handsome 的话,确实会有兼容问题,你把php报错注释打开,打印出来,看看具体报错原因。可能是函数有重复或者什么其他问题
東 朋友
身份验证失败
Chrison 博主
@東 : 不好意思。我还在加班。稍微晚点帮你看吧?你是用的什么模板?
東 朋友
@Chrison : 感谢大哥帮忙解决了
東 朋友
大佬您好,其他的配置好了,想请教一下timescode自定义参数如何添加,还有时光机的独立页面是有模板吗还是用自己的。我的微信 1170607335 希望可以指点下 一定非常感激
東 朋友
隐藏内容回复了也不显示
東 朋友
很想研究一下
東 朋友
学习一下