# 創建個性化菜單
[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')
```
## 查詢個性化菜單
使用普通自定義菜單查詢接口可以獲取默認菜單和全部個性化菜單信息,請見自定義菜單查詢接口的說明。
## 刪除所有菜單
使用普通自定義菜單刪除接口可以刪除所有自定義菜單(包括默認菜單和全部個性化菜單),請見自定義菜單刪除接口的說明。