自WordPress版微信小程序发布开源以来,受关注的程度超过我原来的想象。这套程序主要面对的用户是wordpress网站的站长,如果wordpress站想在微信的生态圈得到推广,小程序成为一种重要的渠道。随着使用WordPress版微信小程序的人越来越多,针对这套程序(包括wordpress插件)的安装和使用的问题也增加了,有些问题比较简单,都是常识,有些问题只要认真去看我的撰写的文档,都可以得到答案。为了更好进行必要的技术支持,我建了一个微信群,抽时间回答相关的技术问题,但毕竟我的时间有限,无法满足所有的提问者,因此我总结了一个安装使用的常见问题的列表,并按我的理解做出了回答,希望对你有帮助,如果回答有什么错误和不完整,请你联系我。
1.WordPress 的版本有什么要求?
建议使用Wordpress 4.7 以上的版本,主要是因为从wordpress 4.7版本开始wordpress官方内置了rest api。如果你的网站的wordpress 是4.7版本以下,又不想升级,可以使用 rest api 的插件,插件的地址:https://wordpress.org/plugins/rest-api/, 但插件和官方内置的rest api 会略有不同,你需要修改小程序里里的api.js 文件才能正常使用。
2.json api 插件是否适用wordpress版小程序?
本小程序是基于官方的rest api 的基础上编写的,无法兼容json api插件,如果你使用的是json api,需要修改小程序里的api.js 文件,修改的方法是按json api请求方式来调整。
3.为什么我安装了最新的wordpress ,无法访问 rest api?
默认rest api 是无法直接访问的,会报出一个404无法找到该页的错误,要解决这个问题,需要做两个设置:
(1)在wordpress后台设置固定链接(permalink)。注意:请不要设置为“朴素”项。
(2) 设置wordpress 网站的url重写,也就是伪静态。
关于上面两个设置的详细内容见文章:WordPress版微信小程序开发系列(一):WordPress REST API
4.网站一定要支持https?
当然,这不是我的程序的要求,而是微信小程序的要求,如果不满足这个要求是无法在手机的微信里使用本小程序。
当然,如果你只是在开发工具的环境里调试程序,可以不用网站支持https。在小程序开发工具-设置-项目设置里选择 -不校验安全域名、TLS 版本以及 HTTPS 证书。
有关wordpress网站如果安装和设置https,你可以参考我写的一篇文章:WordPress整站轻松开启HTTPS
不过有一点要在强调下:只有http和https方式都可以访问的情况下,再去修改wordpress的后台的“WordPress地址(URL)”和 “站点地址(URL)”
注意:小程序要求的TLS 版本需要需要大于等于1.2版本。
5.为什么需要安装WordpPress rest api 定制化插件?
主要是两个原因:
(1) 本小程序里有些功能,比如浏览数,点赞,赞赏等等功能是 wordpress rest api 无法提供的,于是我就在官方的rest api基础上做了定制,考虑到这是个开源的项目,我没有直接修改 rest api的函数,而是通过插件的方式来做定制化,这样可以保证兼容性,即使官方升级wordpress rest api ,也不会带来太大的影响,调整插件去兼容即可。
当然,插件的方式也给程序的开发带来了很大的工作量。
(2) 为了更好的使用小程序,我需要在wordpress 后台配置一些小程序所需的参数,比如分类封面 ,小程序的appid 和 appsecret 。
有关这个插件的使用和安装可以参考文章:
WordPress版微信小程序2.2.8版发布
WordPress版微信小程序2.1.5版发布
6.我通过WordpPress rest api 定制化插件设置了appid和appsecret ,会不会有安全隐患?
放心,我的插件是开源的,我不会窃取你的appid和appsecret ,这两个东东都保存在你自己的wordpress数据库里,除非你的数据库被人黑了,才有可能泄漏。
另外,在赞赏中使用的微信支付,需要设置商户ID和密钥,也是在微信支付服务端程序里设置,我的程序不会保存,也不会通过什么手段传到我的服务器。
如果你实在不放心,就干脆别用这套程序了。:-)
7.为什么WordpPress rest api 定制化插件安装失败?
目前插件程序我还没有上传到wordpress的官方,提供的也不是压缩可安装版本,因此需要你直接上传文件夹安装和启用。
8.WordpPress rest api 定制化插件对php的版本有什么要求?
这个插件我是在php7.1的版本基础上开发的,不过考虑到向下兼容的,我测试过,最低支持 php5.3 ,如果低于这个版本,可能会出现不兼容问题。
插件的下载地址:https://github.com/iamxjb/wp-rest-api-for-app
9.为什么我的小程序提示不能匿名评论?
一般来说,如果安装了WordpPress rest api 定制化插件就不会出现这个提示,在WordpPress rest api插件里开启了wordpress的匿名评论。
但你的wordpress 里设置了禁止匿名评论,或者有什么插件禁止匿名评论,也会提示匿名无法评论。
另外,开启rest api 匿名评论的功能会给wordpress网站带来一定的风险,因为有可能导致垃圾评论增加。这个作为站长要有心里准备。。
10.在回复评论的时候,如果去掉”@**:”字符后后提交评论就显示不是回复了,而是一条评论?
目前我的程序里,判断是否回复就是根据这个机制来判定的,如果你要修改这些字符,程序就没法判断到底是回复还是评论,于是程序就当作评论来处理了。因为考虑到,如果你突然不想回复,只是评论的话,就直接删除这些字符,直接评论了。
这里我还没想到更好的方法,去判断在你点发送的按钮的时候,是评论还是回复。
11.为什么我的小程序的站内链接无法跳转?
坦白说,目前的站内链接还有很多不完善的地方,比如不支持“页面”和“tag”标签的跳转,只支持文章的跳转,同时由于wordpress里设置固定链接有不止一种方式,这给小程序站内链接的跳转程序编写带来了麻烦。
目前本程序只能比较好的兼容了以下这种形式的wordpress固定链接:https://www.watch-life.net//%category%/%postname%.html
后续我会完善站内链接的相关程序。
12.为什么小程序需要获取用户的微信信息?
首先获取用户微信信息(包括昵称,头像,openid等)是在明确提示用户授权的情况下进行,获取这些信息是为了更好满足程序的需要,如果你觉得不安全或者不想授权,可以禁止授权,但会影响到小程序的使用,比如评论,点赞,赞赏等功能就都不能使用了。
这个授权,主要看你选择,你选择不授权,就意味着你放弃完整使用功能。
14.为什么我的小程序的“关于”页面无法显示。
“关于”页面的设置确实有点小难度,你可以打开config.js文件,在这个文件有一行这样的代码:
var ABOUTID= 1136; //wordpress网站关于页面的id
这行代码里的“1136”就是你wordpress网站里一个“页面”的id,至于这个id如何得到的,需要你自己去搜索答案,我就不赘述了。
15.为什么我的小程序按你的文档设置好了,小程序还是显示“暂时无法访问网络,下拉重试…”?
如果你完全我的文档都设置好了,还出现这个情况,可以在开发工具里打开调试器,在“Console”标签里会有相关的提示信息告诉你问题在那里。
如果你看不懂Console的错误提示,我也帮不了你了。
如果你完全按我的文档来设置的,小程序仍然显示“暂时无法访问网络,下拉重试…”,在调试器里的Console也没显示错误信息,这就是科学和宗教都没法解释的了,额,只能是人品问题了。 :-)
16.当初你为什么想着开源这个程序?
这个,还用问,我当然是为了出名。哈哈哈,开个玩笑。开源不是因为我的程序写的有多好,其实说实话,本程序很多代码写得很丑陋,我只是微信小程序的初学者,我开源的初衷有两个:
(1).本程序也是基于不少开源程序的基础上开发的,比如wxParse(https://github.com/icindy/wxParse) 和es6-promise(https://github.com/cinoliu/-es6-promise),没有这些开源者贡献,我也写不出完善的小程序。
(2)降低wordpress站长搭建网站小程序的门槛,对本程序进行简单的配置,就可以把一个wordpress网站搬到微信生态圈里,甚至产生更多的可能机会。
17.如果我捐赠赞助你写的程序,可以获得额外的支持么?
谢谢,赞赏支持我的朋友,我会尽我的可能去提供相关技术支持。
另外,如果你捐赠赞赏过我的程序,或者在你的网站撰写了介绍我的程序的文章(嘿嘿,就是软文),我会考虑在后续的pro版本的wordpress小程序,给你额外的支持和惊喜。
18.wordpress微信小程序支持视频么?
微信小程序目前只支持mp4。如果在本程序里播放视频的话,可以在worpress网站的正文直接插入h5的video标签
注意:视频的链接地址最好有中文字符,很可能无法在手机里播放。
19.如何开通赞赏功能?
赞赏功能其实利用就是小程序的微信支付功能。只有认证的小程序才能开通支付功能,个人小程序就无法实现了。
在配置微信小程序的微信支付的时候,微信小程序appid必须和支付里绑定对应那个商户id对应才能支付。
这个问答列表我会继续补充和完善,如果你有什么疑问,可以联系我,也可以到我建的一个微信群里去讨论,群里的高手很多,相信你会得到满意的答案。
联系我吧,让我们一起完善这套程序。