首先自定义菜单需要获取access_token,由于access_token有效时间仅为两个小时,因此,我们需要将其封装成函数,为今后的开发省去麻烦。
class wxcommon{
public static function getToken(){
$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".APPID."&secret=".APPSECRET;
$content=file_get_contents($url);
$ret=json_decode($content,true);
if(array_key_exists('errcode',$ret)){
return false;
}else{
return $ret;
}
}
}
这个函数写在wei.class.php文件里。
接下来是自定义菜单文件:
<?php
require 'weixin.class.php';
$ret=wxcommon::getToken();
$ACCESS_TOKEN=$ret['access_token'];
$menuPostData='{
"button":[
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"type":"click",
"name":"歌手简介",
"key":"V1001_TODAY_SINGER"
},
{
"name":"菜单",
"sub_button":[
{
"type":"click",
"name":"hello word",
"key":"V1001_HELLO_WORLD"
},
{
"type":"click",
"name":"赞一下我们",
"key":"V1001_GOOD"
}]
}]
}';
// create new menu
$wxmenu=new wxmenu($ACCESS_TOKEN);
$create=$wxmenu->createMenu($menuPostData);
//get current menu
$get=$wxmenu->getMenu();
var_dump($get);
//delete current menu
$del=$wxmenu->deleteMenu();
var_dump($del);
$menuPostData里面是菜单内容,具体关键字作用可参考微信开发者文档。