一、网站要求

1、WordPress 网站版本必须是 Version 4.9.5 以上,插件经过测试,支持 WordPress Version 5.4.1 版本。

2、网站不能同时使用其他版本小程序插件,网站主题或者插件不能禁用 WordPress REST API 功能。(检查网站插件或主题是否禁用 REST API )

3、网站必须支持 SSL 证书加密,即要支持 HTTPS 访问。网站主域名必须有备案,否则,无法加入小程序后台的域名请求列表

4、网站必须安装 Mini Program API 插件

5、网站服务器必须支持伪静态链接,即设置固定链接为除了朴素以外的任意一种。需要注意,固定链接地址必须不包含 index.php

二、小程序开发配置

小程序开发需要提前配置相关信息,这里主要介绍小程序的开发配置,以微信小程序为例。

1、获取 AppSecret(小程序密钥)

点击 AppSecret(小程序密钥) 右边的重置,然后按要求进行获取,将获取到的 AppID(小程序ID) 和 AppSecret(小程序密钥) 填写至小程序 – 授权设置相关选项中。点击这里查看小程序 – 授权设置介绍

2、服务器域名

点击 服务器配置 里的修改,按要求扫码二维码修改相关域名配置

request 合法域名:小程序请求数据域名,一般情况下只需要填写网站域名即可,但是,涉及需要请求的数据都要加入此列表中。

socket 合法域名:需要根据个人情况而定,丸子小程序建议填写网站域名即可。

uploadFile 合法域名:上传文件服务器绑定的域名,需要根据个人情况而定,一般情况下填写网站域名。

downloadFile 合法域名:下载文件请求域名,需要根据个人情况而定,一般情况下填写网站域名以及 CDN 域名。

udp 合法域名:需要根据个人情况而定,一般情况下默认为空即可。

三、插件设置

1、小程序授权

获取对应的小程序 AppID 和 AppSecret 填写。注意,百度智能小程序填写的是 AppKey 和 AppSecret 。这一部分影响小程序用户授权登录,如果设置错误,则无法正常授权登录,也就不能评论,点赞和收藏等。

2、常规设置

(1).小程序信息填写。这部分没有特别要求,默认情况下为网站信息内容。

(2).文章格式类型可选。这部分目前对于小程序没有特别影响,可选可不选。

(3).默认缩略图必须填写。这部分主要针对文章无图的情况下采用默认图片。

(4).downloadFile合法域名根据小程序开发配置里的服务器域名中 downloadFile 合法域名填写,有多少个 downloadFile 合法域名就填多少个。注意,只需要填写域名,不需要带 https

(5).订阅消息模板 ID 。根据插件设置提示里的内容选择合适的消息模板 ID 填写即可。注意:需要根据提示里的说明选择关键词,并且根据提示的说明对关键词排序,一定不能缺少或者排序错误。

3、功能扩展

这部分可以根据自己的情况而定,需要注意的是 启用更新提醒 这一项。启用更新提醒主要是针对微信小程序的内容更新提醒通知,启用后,发布文章或者定时发布文章时,都会自动推送订阅消息给已经有订阅更新的用户。如果发表的文章不需要推送消息通知,则建议一定要取消启用。

4、广告功能

目前丸子小程序开源免费版支持广告功能的分别有:微信小程序、QQ 小程序和百度智能小程序。而且,仅支持流量主广告。

四、小程序代码配置

1、网站域名配置

修改基本配置文件 base.js 里的网站域名。base.js 文件在小程序源码包的 utils 目录里,把 const API_HOST = 'https://demo.imahui.com' 里面的域名改成自己的网站域名

2、订阅消息配置

微信小程序源码包需要修改 base.js 里的模板 ID 内容。即 const templates = {} 里面的模板 ID 要改成自己在微信小程序平台里开通的订阅消息选择的模板 ID

3、生成海报配置

需要修改 detail.js 里生成海报的部分文字,具体自己查看 detail.js 里的海报生成部分。主要修改小程序名称和小程序描述内容。

4、其他配置说明

小程序图片文件目录 images ,可以根据自己需要自行替换

五、定制数据

完成上面四个部分,基本上就已经配置安装完成。但是,还是有个别需要对数据输出进行过滤的,比较常见的是限制某一个或者多个分类文章显示,又或者是仅显示一个或者多个分类文章显示。

以下仅用首页数据调用为示例说明:

1、限制某一个或者多个分类数据输出

方法一:修改与 this.getPostList(); 相关的数据获取功能,即增加参数过滤。比如 onLoad 部分改为 this.getPostList({categories_exclude:'1,2,3'}); 即过滤分类目录 ID 为 1,2,3 的文章调用。下面每个 this.getPostList 都需要加上 categories_exclude:'1,2,3'

方法二:打开 api.js ,找到 getPostsList 函数,修改 return API.get('/wp-json/wp/v2/posts', data, { token:true }); 为 return API.get('/wp-json/wp/v2/posts?categories_exclude=1,2,3', data, { token:true });即可

2、仅调用某一个或者多个分类数据输出

方法一:修改与 this.getPostList(); 相关的数据获取功能,即增加参数过滤。比如 onLoad 部分改为 this.getPostList({categories:'1,2,3'}); 即过滤分类目录 ID 为 1,2,3 的文章调用。下面每个 this.getPostList 都需要加上 categories:'1,2,3'

方法二:打开 api.js ,找到 getPostsList 函数,修改 return API.get('/wp-json/wp/v2/posts', data, { token:true }); 为 return API.get('/wp-json/wp/v2/posts?categories=1,2,3', data, { token:true });即可

3、限制某一个或者多个分类在分类页面显示

方法一:修改与 this.getCategories(); 相关的数据获取功能,即增加参数过滤。比如 onLoad 部分改为 this.getCategories({exclude:'1,2,3'}); 即过滤分类目录 ID 为 1,2,3 的分类过滤。下面每个 this.getCategories 都需要加上 exclude:'1,2,3'

方法二:打开 api.js ,找到 getCategories 函数,修改 return API.get('/wp-json/wp/v2/categories?orderby=id&order=asc', data); 为 return API.get('/wp-json/wp/v2/categories?orderby=id&order=asc&exclude=1,2,3', data);即可

4、仅显示某一个或者多个分类在分类页面

方法一:修改与 this.getCategories(); 相关的数据获取功能,即增加参数过滤。比如 onLoad 部分改为 this.getCategories({include:'1,2,3'}); 即过滤分类目录 ID 为 1,2,3 的分类过滤。下面每个 this.getCategories 都需要加上 include:'1,2,3'

方法二:打开 api.js ,找到 getCategories 函数,修改 return API.get('/wp-json/wp/v2/categories?orderby=id&order=asc', data); 为 return API.get('/wp-json/wp/v2/categories?orderby=id&order=asc&include=1,2,3', data);即可

六、常见问题

1. 订阅时提示“未找到匹配 URL 和请求方式的路由”

需要更新插件至 1.2.2 以上版本,建议更新至最新版本。

2. 订阅时提示“订阅消息失败”

先停用插件再重新启用,再测试订阅。如果测试仍然失败,访问数据库管理查看是否创建了 applets_subscribe_user 和 applets_subscribe_message 相关的数据表。如果没有创建,需要自己手动创建。

3. 开发版是否支持订阅推送

开发工具有可能不支持订阅 API ,升级最新版开发工具测试。建议通过预览开发版,体验版或者线上版测试订阅是否成功。订阅成功后,无论是开发版还是体验版或者线上版,都可以通过后台发文章测试订阅推送。

4. 更新文章时,未接收到文章更新提醒

需要先查看推送任务中是否有触发推送任务,一般情况下,触发了推送任务,不论成功或者失败,都会在推送任务列表中。如果出现在任务列表中,则看任务列表是什么错误提示。如果无法得知具体的错误,可以访问数据库查看数据表信息。

5. 订阅推送消息通知常见错误

(1)Openid 错误:一般情况下都是 OpenID 为空造成的,检查用户信息是否有 openid 信息。

(2)消息模板错误:订阅消息模板选用错误,或者消息模板关键词选用错误,又或者消息模板关键词排序错误,也可能推送的内容某个关键词内容为空

6. 分享海报生成时,二维码不存在或者生成失败

(1)如果部分二维码失败,有可能初始生成二维码时失败,导致了后面怎么生成都不成功,需要手动删除上传目录下的 qrcode 目录里的二维码文件再重新尝试生成。

(2)如果生成海报失败,检查服务器目录权限,查看上传目录下是否有 qrcode 目录,并且该目录下是否有二维码文件。如果没有的话,先手动创建 qrcode 目录,并且设置权限组为 www 权限为 755 。

(3)如果生成海报下载时提示失败,需要把分享海报的封面缩略图地址和网站域名,以及 CDN 域名添加到小程序后台的服务器配置里的 DownloadFile 合法域名。同时,插件设置里也不能缺少同样的配置。

8. 提交审核拒审,要求完善内容审核机制

Mini Program API 插件已经接入了微信内容安全文本检测功能。但是,并不是所有评论内容都会被文本检测过滤,特别是审核人员为了测试内容安全问题,故意发布的内容不一定会被屏蔽。因此,建议开启评论审核。

方法:进入后台,点击 设置 – 讨论 ,找到 在评论显示之前 ,勾选 评论必须经人工批准。