首页 > 代码库 > 微信机器人高级版常见问题汇总

微信机器人高级版常见问题汇总

下面列出微信机器人高级版可能碰到的一些问题和解决方案,以便大家碰到类似的问题的时候能够快速找到答案并修正,本文也会长期更新

1. 如何安装和升级

安装:上传到 wp-content/plugins/ 目录下,然后到 WordPress 后台 > 插件 激活即可。

升级:升级稍微麻烦点,下载新的安装包,解压缩,然后覆盖旧的插件文件夹,然后到 WordPress 后台 > 插件,先停用再激活。

2. 回复微信公众号之后,为什么缩略图不能显示?

首先要解释下微信机器人是怎么获取缩略图,首先去获取当前的日志缩略图(特色图片),如果没有,就去获取日志内容中的第一张图片,如果还是没有,那么就去获取微信机器人后台设置的默认缩略图,如果还连默认都没有设置,那就真的没有了。

所以缩略图不能显示或者没有的问题,首先查下,有没有设置默认的缩略图,日志有没有设置特色图片,内容中有没有图片?另外是否服务器设置了防盗链,这个也是会使得缩略图在微信机器人中无法先的。

最后帮用户调试过程还发现一个问题,有些用户的图片是中文名的,我已经提供了一个简单的 fix 来解决这个问题,如果你的缩略图是中文的,你可以将面的代码复制到当前主题的 functions.php,文件中,或者点击这里直接下载插件版本,上传到插件目录并激活。

  1. add_filter(‘weixin_thumb‘,‘cn_urlencode_weixin_thumb_filter‘,10,2);

  2. function cn_urlencode_weixin_thumb_filter($thumb,$counter){

  3.     $pos = strrpos($thumb,‘/‘);

  4.     return substr($thumb, 0,$pos+1).urlencode(substr($thumb$pos+1));

  5. }

3. 博客安装了 WP Super Cache 这款插件,微信公众账号后台怎么无法通过验证?

这是因为 WP Super Cache 会在任何页面产生几行用于告诉用户当前页面是否已经缓存的注释,这个会影响微信公众账号的验证过程,可以通过在 WP Super Cache 设置里面将“不要为 GET 请求缓存”这个选项勾上即可:

技术分享

4. 自定义回复中图文回复需要输入日志ID,那么哪里查看日志 ID?

可以通过在编辑日志的时候,查看其 URL 获取日志的 ID,当然你可以通过简单的代码实现在在后台日志列表页面查看日志 ID 和页面 ID。

下面是如何在后台显示日志 ID。
[v_notice]我们虽然可以通过在编辑日志的时候,查看其 URL 获取日志的 ID,但是这样对很多用户来说非常不方便,有没有什么办法可以直接在日志列表查看日志 ID 呢?我们可以通过下面的代码实现:[/v_notice]

技术分享


  1. add_filter(‘manage_posts_columns‘, ‘wpjam_id_manage_posts_columns‘);

  2. add_filter(‘manage_pages_columns‘, ‘wpjam_id_manage_posts_columns‘);

  3. function wpjam_id_manage_posts_columns($columns){

  4.     $columns[‘post_id‘] = ‘ID‘;

  5.     return $columns;

  6. }


  7. add_action(‘manage_posts_custom_column‘,‘wpjam_id_manage_posts_custom_column‘,10,2);

  8. add_action(‘manage_pages_custom_column‘,‘wpjam_id_manage_posts_custom_column‘,10,2);

  9. function wpjam_id_manage_posts_custom_column($column_name,$id){

  10.     if ($column_name == ‘post_id‘) {

  11.         echo $id;

  12.     }

  13. }

5. 如何设置图文格式的关注回复

目前微信机器人高级本并没有提供地方设置图文格式的关注回复。但是实现这个功能非常简单,甚至无需一行代码,只要你在自定义回复新增一条图文回复即可:

技术分享

关键字设置为:subscribe
回复类型:选择图文
回复内容:就是你要设置的日志列表了。

6. 为什么我设置和修改了自定义菜单,微信上没有看到更新呢?

首先你要点击同步更新到微信,然后在微信需要首先删除你和公众号最新的留言,然后到通讯录 > 服务号 重新打开你的服务号,才会看到自定义菜单或者更新。

7. 如何获取分类或者标签下最新文章?

好吧,微信机器人默认已经支持该功能了,你只需要发送分类或者标签的名称即可。

8. 为什么自定义回复,数据统计,最新消息等页面进去空白

自定义回复和数据统计功能,是自定义数据表,很大可能性是因为相关的数据表没有创建,你可以停用插件,然后再次激活来创建数据表,如果还不行,可以通过在浏览器输入以下地址手动创建它:

http://博客地址/wp-content/plugins/weixin-robot-advanced/weixin-robot-create-tables.php

如果还是不行,只能手工在 PHPMyAdmin 里面创建表(注意表前缀):

  1. CREATE TABLE IF NOT EXISTS wp_weixin_custom_replies (

  2. `id` bigint(20) NOT NULL auto_increment,

  3. `keyword` varchar(255) NOT NULL,

  4. `match` varchar(10) NOT NULL default ‘full‘,

  5. `reply` text NOT NULL,

  6. `status` int(1) NOT NULL default ‘1‘,

  7. `time` datetime NOT NULL default ‘0000-00-00 00:00:00‘,

  8. `type` varchar(10) NOT NULL default ‘text‘,

  9. PRIMARY KEY (`id`)

  10. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;


  11. CREATE TABLE IF NOT EXISTS wp_weixin_messages (

  12. `id` bigint(20) NOT NULL auto_increment,

  13. `MsgId` bigint(64) NOT NULL,

  14. `FromUserName` varchar(30) NOT NULL,

  15. `MsgType` varchar(10) NOT NULL,

  16. `CreateTime` int(10) NOT NULL,

  17. `Content` longtext NOT NULL,

  18. `Event` varchar(255) NOT NULL,

  19. `EventKey` varchar(255) NOT NULL,

  20. `Title` text NOT NULL,

  21. `Url` varchar(255) NOT NULL,

  22. `MediaId` text NOT NULL,

  23. `Response` varchar(255) NOT NULL,

  24. PRIMARY KEY (`id`)

  25. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;



查看原文,本博修改了部分内容,感谢我爱水煮鱼博客的分享。


本文出自 “IT小天” 博客,请务必保留此出处http://lucktribe.blog.51cto.com/12860469/1933372

微信机器人高级版常见问题汇总