特定の投稿タイプのみにアクセスする必要があるカスタム ユーザー ロールがあり、これを使用して他のメニューを非表示にしようとしています。
function remove_menus () {
global $current_user;
if ($current_user->wp_capabilities['my_custom_capability']){
global $menu;
$restricted = array(
__('Supporters'),
__('Posts'),
__('Press Release'),
__('Consumer Care'),
__('Tools')
);
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
}
add_action('admin_menu', 'remove_menus');
これは、サポーター (別のカスタム投稿タイプ)、投稿、およびツールに対して機能しますが、コンシューマー ケアまたはプレス リリースに対しては機能しません。配列で考えられるすべてのバリエーションを試しました:
__('Consumer_Care'),
__('Consumer-Care'),
__('consumer care'),
__('consumer-care'),
__('consumer_care')
それらのどれも仕事をしません。どうすればいいですか?