Para ocultar um item de menu de tipo de postagem de usuários não administradores:
function wpse28782_remove_menu_items() {
if( !current_user_can( 'administrator' ) ):
remove_menu_page( 'edit.php?post_type=your_post_type' );
endif;
}
add_action( 'admin_menu', 'wpse28782_remove_menu_items' );
your_post_type
deve ser o nome do seu tipo de postagem real.
EDITAR
outras páginas de menu que você pode remover:
remove_menu_page('edit.php'); // Posts
remove_menu_page('upload.php'); // Media
remove_menu_page('link-manager.php'); // Links
remove_menu_page('edit-comments.php'); // Comments
remove_menu_page('edit.php?post_type=page'); // Pages
remove_menu_page('plugins.php'); // Plugins
remove_menu_page('themes.php'); // Appearance
remove_menu_page('users.php'); // Users
remove_menu_page('tools.php'); // Tools
remove_menu_page('options-general.php'); // Settings
EDIT 2 -
Removendo itens de menu do plug-in.
Para plugins, parece que você precisa apenas da var de consulta page=
. A outra coisa a notar é a prioridade, que é o terceiro argumento para o admin_menu
add_action
. Tem que ser definido baixo o suficiente (quanto maior o número, menor a prioridade) para que os plugins já tenham se adicionado ao menu.
function wpse28782_remove_plugin_admin_menu() {
if( !current_user_can( 'administrator' ) ):
remove_menu_page('cart66_admin');
endif;
}
add_action( 'admin_menu', 'wpse28782_remove_plugin_admin_menu', 9999 );