微信公众号在开发模式下时,编辑模式中的自定义菜单设置失效,必须在开发模式中重新自定义菜单选项。
首先,要将公众号开发信息填写准确,会得到一个开发者ID(AppID)和开发者密码(AppSecret),这个是今后开发必备的钥匙,可以存起备用,今后随时有用。
还有一个是IP白名单设置,这个也很重要,现在的微信分享要带自定义缩略图和摘要的前提是必须将你网址的IP设置到白名单中。还有一个需要注意的地方,我们在开发模式下设置自定义菜单时必须将本电脑(就是你设置时所用的电脑)的公网IP添加到白名单中,否则设置会提示不成功。
进入后选择,基础支持选项,依次填入开发者ID(AppID)和开发者密码(AppSecret),点检查问题按钮即可,此操作将获取access_token值。
成功后会出现一串黄色字符,此为access_token值,复制下一步备用。
再到接口类型里选择“自定义菜单”项,在参数列表中的access_token选项处填入刚才所复制的access_token值,在body处填入自定义菜单代码,点检查问题选项,显示成功,则设置成功,在微信公众号中即可实时查看效果。
自定义菜单代码如下,可根据实际情况进行调整。关于微信公众号与wordpress网站免插件无缝连接请参照霭客溪一篇教程:免插件将wordpress网站无缝对接微信公众号
- {
- “button”: [
- {
- “name”: “文章”,
- “sub_button”: [
- {
- “type”: “view”,
- “name”: “山居笔记”,
- “url”: “https://www.aikexi.com/zp”,
- “sub_button”: [ ]
- },
- {
- “type”: “view”,
- “name”: “溪窗夜话”,
- “url”: “https://www.aikexi.com/yehua”,
- “sub_button”: [ ]
- },
- {
- “type”: “view”,
- “name”: “行者无疆”,
- “url”: “https://www.aikexi.com/xing”,
- “sub_button”: [ ]
- }
- ]
- },
- {
- “name”: “画廊”,
- “sub_button”: [
- {
- “type”: “view”,
- “name”: “自然风光”,
- “url”: “https://www.aikexi.com/gallery-category/ziran”,
- “sub_button”: [ ]
- },
- {
- “type”: “view”,
- “name”: “名胜古迹”,
- “url”: “https://www.aikexi.com/gallery-category/guji”,
- “sub_button”: [ ]
- },
- {
- “type”: “view”,
- “name”: “艺术人文”,
- “url”: “https://www.aikexi.com/gallery-category/rwys”,
- “sub_button”: [ ]
- }
- ]
- },
- {
- “name”: “服务”,
- “type”: “view”,
- “url”: “https://www.aikexi.com/product-category/service”
- }
- ]
- }
关于微信公众号平台自定义菜单参数说明,可参考官方说明。
参数说明
参数 | 是否必须 | 说明 |
---|---|---|
button | 是 | 一级菜单数组,个数应为1~3个 |
sub_button | 否 | 二级菜单数组,个数应为1~5个 |
type | 是 | 菜单的响应动作类型,view表示网页类型,click表示点击类型,miniprogram表示小程序类型 |
name | 是 | 菜单标题,不超过16个字节,子菜单不超过40个字节 |
key | click等点击类型必须 | 菜单KEY值,用于消息接口推送,不超过128字节 |
url | view、miniprogram类型必须 | 网页链接,用户点击菜单可打开链接,不超过1024字节。当type为miniprogram时,不支持小程序的老版本客户端将打开本url |
media_id | media_id类型和view_limited类型必须 | 调用新增永久素材接口返回的合法media_id |
appid | miniprogram类型必须 | 小程序的appid |
pagepath | miniprogram类型必须 | 小程序的页面路径 |
matchrule | 是 | 菜单匹配规则 |
tag_id | 否 | 用户标签的id,可通过用户标签管理接口获取 |
sex | 否 | 性别:男(1)女(2),不填则不做匹配 |
client_platform_type | 否 | 客户端版本,当前只具体到系统型号:IOS(1), Android(2),Others(3),不填则不做匹配 |
country | 否 | 国家信息,是用户在微信中设置的地区,具体请参考地区信息表 |
province | 否 | 省份信息,是用户在微信中设置的地区,具体请参考地区信息表 |
city | 否 | 城市信息,是用户在微信中设置的地区,具体请参考地区信息表 |
language | 否 | 语言信息,是用户在微信中设置的语言,具体请参考语言表: 1、简体中文 “zh_CN” 2、繁体中文TW “zh_TW” 3、繁体中文HK “zh_HK” 4、英文 “en” 5、印尼 “id” 6、马来 “ms” 7、西班牙 “es” 8、韩国 “ko” 9、意大利 “it” 10、日本 “ja” 11、波兰 “pl” 12、葡萄牙 “pt” 13、俄国 “ru” 14、泰文 “th” 15、越南 “vi” 16、阿拉伯语 “ar” 17、北印度 “hi” 18、希伯来 “he” 19、土耳其 “tr” 20、德语 “de” 21、法语 “fr” |
matchrule共六个字段,均可为空,但不能全部为空,至少要有一个匹配信息是不为空的。 country、province、city组成地区信息,将按照country、province、city的顺序进行验证,要符合地区信息表的内容。地区信息从大到小验证,小的可以不填,即若填写了省份信息,则国家信息也必填并且匹配,城市信息可以不填。 例如 “中国 广东省 广州市”、“中国 广东省”都是合法的地域信息,而“中国 广州市”则不合法,因为填写了城市信息但没有填写省份信息。