下面列出微信机器人高级版可能碰到的一些问题和解决方案,以便大家碰到类似的问题的时候能够快速找到答案并修正,本文也会长期更新。
安装:上传到 wp-content/plugins/ 目录下,然后到 WordPress 后台 > 插件 激活即可。
升级:升级稍微麻烦点,下载新的安装包,解压缩,然后覆盖旧的插件文件夹,然后到 WordPress 后台 > 插件,先停用再激活。
首先要解释下微信机器人是怎么获取缩略图,首先去获取当前的日志缩略图(特色图片),如果没有,就去获取日志内容中的第一张图片,如果还是没有,那么就去获取微信机器人后台设置的默认缩略图,如果还连默认都没有设置,那就真的没有了。
所以缩略图不能显示或者没有的问题,首先查下,有没有设置默认的缩略图,日志有没有设置特色图片,内容中有没有图片?另外是否服务器设置了防盗链,这个也是会使得缩略图在微信机器人中无法先的。
最后帮用户调试过程还发现一个问题,有些用户的图片是中文名的,我已经提供了一个简单的 fix 来解决这个问题,如果你的缩略图是中文的,你可以将面的代码复制到当前主题的 functions.php
,文件中,或者点击这里直接下载插件版本,上传到插件目录并激活。
add_filter('weixin_thumb','cn_urlencode_weixin_thumb_filter',10,2);
function cn_urlencode_weixin_thumb_filter($thumb,$counter){
$pos = strrpos($thumb,'/');
return substr($thumb, 0,$pos+1).urlencode(substr($thumb, $pos+1));
}
这是因为 WP Super Cache 会在任何页面产生几行用于告诉用户当前页面是否已经缓存的注释,这个会影响微信公众账号的验证过程,可以通过在 WP Super Cache 设置里面将“不要为 GET 请求缓存”这个选项勾上即可:
可以通过在编辑日志的时候,查看其 URL 获取日志的 ID,当然你可以通过简单的代码实现在在后台日志列表页面查看日志 ID 和页面 ID。详细请查看:WordPress 技巧:如何在后台显示日志 ID。
目前微信机器人高级本并没有提供地方设置图文格式的关注回复。但是实现这个功能非常简单,甚至无需一行代码,只要你在自定义回复新增一条图文回复即可:
详细请点击:设置图文格式的关注回复。
首先你要点击同步更新到微信,然后在微信需要首先删除你和公众号最新的留言,然后到通讯录 > 服务号 重新打开你的服务号,才会看到自定义菜单或者更新。
好吧,微信机器人默认已经支持该功能了,你只需要发送分类或者标签的名称即可。
自定义回复和数据统计功能,是自定义数据表,很大可能性是因为相关的数据表没有创建,你可以停用插件,然后再次激活来创建数据表,如果还不行,可以通过在浏览器输入以下地址手动创建它:
http://博客地址/wp-content/plugins/weixin-robot-advanced/weixin-robot-create-tables.php
如果还是不行,只能手工在 PHPMyAdmin 里面创建表(注意表前缀):
CREATE TABLE IF NOT EXISTS wp_weixin_custom_replies (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`keyword` varchar(255) CHARACTER SET utf8 NOT NULL,
`reply` text CHARACTER SET utf8 NOT NULL,
`status` int(1) NOT NULL DEFAULT '1',
`time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`type` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT 'text',
PRIMARY KEY (`id`),
UNIQUE KEY `keyword` (`keyword`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS wp_weixin_messages (
`id` bigint(20) NOT NULL auto_increment,
`MsgId` bigint(64) NOT NULL,
`FromUserName` text character set utf8 NOT NULL,
`MsgType` varchar(10) character set utf8 NOT NULL,
`CreateTime` int(10) NOT NULL,
`Content` longtext character set utf8 NOT NULL,
`PicUrl` varchar(255) character set utf8 NOT NULL,
`Location_X` double(10,6) NOT NULL,
`Location_Y` double(10,6) NOT NULL,
`Scale` int(10) NOT NULL,
`label` varchar(255) character set utf8 NOT NULL,
`Title` text character set utf8 NOT NULL,
`Description` longtext character set utf8 NOT NULL,
`Url` varchar(255) character set utf8 NOT NULL,
`Event` varchar(255) character set utf8 NOT NULL,
`EventKey` varchar(255) character set utf8 NOT NULL,
`Format` varchar(255) character set utf8 NOT NULL,
`MediaId` text character set utf8 NOT NULL,
`Recognition` text character set utf8 NOT NULL,
`Response` varchar(255) character set utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;