# 创建个性化菜单
[toc]
为了帮助公众号实现灵活的业务运营,微信公众平台新增了个性化菜单接口,开发者可以通过该接口,让公众号的不同用户群体看到不一样的自定义菜单。该接口开放给已认证订阅号和已认证服务号。
## 创建个性化菜单
```php
$data = [
'button' => [
[
'type' => 'click',
'name' => '今日歌曲',
'key' => 'V1001_TODAY_MUSIC',
],
[
'name' => '菜单',
'sub_button' =>
[
[
'type' => 'view',
'name' => '搜索',
'url' => 'http://www.soso.com/',
]
],
],
],
'matchrule' => [
'tag_id' => '2',
'sex' => '1',
'country' => '中国',
'province' => '广东',
'city' => '广州',
'client_platform_type' => '2',
'language' => 'zh_CN',
]
];
WeChat::instance('button')->createSpecialButton($data);
```
返回结果
```php
[
"menuid"=>"208379533"
]
```
## 删除个性化菜单
删除个性菜单需要提供菜单编号(menuid),可以通过自定义菜单查询接口获取。
```php
$res = WeChat::instance('button')->delSpecialButton($res['menuid']);
```
返回结果
```php
[
"errcode"=>0,
"errmsg":"ok"
]
```
## 测试个性化菜单匹配结果
该接口将返回菜单配置。参数为user_id可以是粉丝的OpenID,也可以是粉丝的微信号。
```php
WeChat::instance('button')->trySpecialButton('houdunwangxj')
```
## 查询个性化菜单
使用普通自定义菜单查询接口可以获取默认菜单和全部个性化菜单信息,请见自定义菜单查询接口的说明。
## 删除所有菜单
使用普通自定义菜单删除接口可以删除所有自定义菜单(包括默认菜单和全部个性化菜单),请见自定义菜单删除接口的说明。