管理者以外のユーザーに対して投稿タイプのメニュー項目を非表示にするには:
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
実際の投稿タイプの名前にする必要があります。
編集
削除できる他のメニューページ:
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
編集2-
プラグインメニュー項目を削除します。
プラグインの場合、page=
クエリ変数のみが必要なようです。もう1つ注意すべきことは、優先度です。これは、の3番目の引数admin_menu
add_action
です。プラグインが既にメニューに追加されているように、十分に低く設定する必要があります(数値が大きいほど、優先度は低くなります)。
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 );