Wordpress 无法删除某些未设置的菜单

Wordpress 无法删除某些未设置的菜单,wordpress,menu,user-roles,Wordpress,Menu,User Roles,我有一个自定义用户角色,只需要访问某些帖子类型,我正试图通过以下方式隐藏其他菜单: function remove_menus () { global $current_user; if ($current_user->wp_capabilities['my_custom_capability']){ global $menu; $restricted = array( __('Supporters'),

我有一个自定义用户角色,只需要访问某些帖子类型,我正试图通过以下方式隐藏其他菜单:

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')
他们没有一个人做这项工作。我该怎么做?

只需在动作调用中添加一个。如果没有一个,它将在默认情况下启动
10
,许多插件随后运行,因此您的
unset
无法获得它们

add_action( 'admin_menu', 'remove_menus', 999 );