管理者以外はカスタム投稿タイプのサブメニューを非表示にしたい場合(新規投稿など出来なくする)
例:カスタム投稿タイプのスラッグは「hogehoge」でメニューはコメントアウトで表示させ、サブメニューを非表示にする記述
functions.php
// カスタム投稿タイプ「広告バナー」のサブメニューを非表示にする(管理者以外) ------------
function remove_custom_post_type_submenu() {
if (!current_user_can('manage_options')) { // 管理者以外
// remove_menu_page('edit.php?post_type=hogehoge'); // カスタム投稿タイプのメニューを削除
remove_submenu_page('edit.php?post_type=hogehoge', 'post-new.php?post_type=hogehoge'); // 新規追加サブメニューを削除
}
}
add_action('admin_menu', 'remove_custom_post_type_submenu', 100);
その他、全体的に管理者以外、使用しないメニューを非表示にする記述に追加でカスタム投稿タイプのメニューの非表示も行える
例:広告バナー(advertise)と商品管理(items)のメニュー非表示の記述を最下部に入れる
functions.php
// 使用しないメニューを非表示にする ------------------------------------------------------
function remove_admin_menus() {
// level10以外のユーザーの場合
if (!current_user_can('level_10')) {
global $menu;
global $submenu;
// unsetで非表示にするメニューを指定
unset($menu[2]); // ダッシュボード
// unset($menu[5]); // 投稿
unset($menu[10]); // メディア
// unset($menu[20]); // 固定ページ
unset($submenu['edit.php?post_type=page'][10]); //固定ページのサブメニュー
unset($menu[25]); // コメント
unset($menu[60]); // 外観
unset($menu[65]); // プラグイン
unset($menu[70]); // ユーザー
unset($menu[75]); // ツール
unset($menu[80]); // 設定
remove_menu_page('wpcf7'); //コンタクトフォーム7
remove_submenu_page( 'edit.php?post_type=advertise', 'post-new.php?post_type=advertise' ); //広告バナー新規作成
// remove_menu_page('edit.php?post_type=items', 'edit-tags.php?taxonomy=items_category&post_type=items'); //商品管理 カスタム投稿 タクソノミー
}
}
add_action('admin_menu', 'remove_admin_menus');