( 网络配图)
开发微信公众号时可能需要自己对接一些服务,所以会启用微信公众号服务器配置功能,开启后你会发现,公众号的部分基础功能都需要自己配置了,原生的不能使用了,其中就包括公众号底部菜单。
下面主要就是分享php版在开启公众号服务器配置功能后修改自定义菜单的独立配置完整的源码,以微信认证订阅号为例,有php基础的基本都能看懂源码。复制下面的源码保存为PHP文件,上传到你开启服务器配置项的对应目录下,任意浏览器直接访问你保存的文件名,输入结果为OK表示配置成功。如果出现报错代码,就检查源码里的必填项是不是填写错了,还有公众号开发者信息里的IP白名单(你网址服务器的IP)是否填写,总之报错就根据报错代码查看开发者文档解决就对了。
自定义菜单PHP版
<?php $appid='修改为你appid';//必填项 $secret='修改为你secret';//必填项 $access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL,$access_token); curl_setopt($curl, CURLOPT_HEADER, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); $data = curl_exec($curl); $headerSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE); curl_close($curl); $headerData = substr($data, 0, $headerSize); $bodyData = substr($data, $headerSize); $access_msg = json_decode($bodyData); $token = $access_msg->access_token; //必填项,以下是对应的自定义菜单内容,自行修改为自己需要的,菜单对应的事件服务项源码先自己写配置吧,以后再更新到文章 $jsonmenu = '{ "button":[ { "name":"综合服务", "sub_button":[ { "type":"view", "name":"⛱生活服务", "url":"http://你的域名/fuwu.html" }, { "type":"click", "name":"商务合作", "key":"shangwuhezuo" }, { "type":"view", "name":"新闻爆料", "url":"http://你的域名/wxtougao.html" }, { "type":"click", "name":"免费活动", "key":"chushengfengpi" }, { "type":"view", "name":"进微友群", "url":"http://qr.topscan.com/api.php?text=https://weixin.qq.com/g/AVN4eHdJnhmeYTty" } ] }, { "type":"view", "name":"你的网址名", "url":"http://你的域名/" }, { "type":"view", "name":"历史信息", "url":"自己获取" } ] }'; $url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$token; $result = https_request($url, $jsonmenu); var_dump($result); function https_request($url,$data = null){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); if (!empty($data)){ curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); curl_close($curl); return $output; } ?>
效果图:
菜单表情图标获取地址
http://bj.96weixin.com/emoji/