Ocultar item de menu do painel do plugin para funções específicas

Estou escrevendo um plugin e estou tentando exibir somente o item de menu do painel do administrador para funções específicas. Eu tenho esse trecho de controle até agora …

// Check User Role global $current_user; if( !empty($current_user->roles) ){ foreach ($current_user->roles as $key => $value) { if( $value == 'administrator' ){ new myplugin_Wp_List_Table(); } } } 

Isso não está funcionando por algum motivo, quando estou logado como administrador, não exibe o menu.

Alguma idéia alguma?

Solutions Collecting From Web of "Ocultar item de menu do painel do plugin para funções específicas"

Eu acho que é uma estratégia melhor, que você adiciona na ativação de um novo recurso e adicione essa capacidade à function de Administrador. Isso possibilita instalações com funções muito diferentes para o padrão WP para adicionar esse recurso a outras funções ou para a exigência de uma instalação para adicionar a exibição a outra function.

Adicionar capa a um papel

 add_action( 'admin_init', 'fb_add_capabilities' ); function fb_add_capabilities() { `$GLOBALS['wp_roles']->add_cap( 'administrator', '_your_custom_cap' );` } 

Verifique o Cap

Dentro da sua fonte, você pode verificar esta capacidade:

 if ( ! current_user_can( '_debug_objects' ) ) return; 

Remover o boné

Na desativação (Hook register_deactivation_hook ) e desinstalar (Hook register_uninstall_hook ) do plugin é necessário, que você remova a tampa. remove_cap()

Exemplo

Um exemplo na natureza pode você finde neste arquivo de plugin .