はじめに
こちらのページの続きで書いてます。
管理者ページの表示項目設定
権限によって表示させる項目を設定することができます。
権限一覧
- administrator(管理者)
- editor(編集者)
- author(投稿者)
- contributor(寄稿者)
- subscriber(閲覧者)
表示設定コード
functions.phpに記載するか、外部ファイル化させてincludeで読ませると反映されます。
<?php
// メニューから外す
function remove_menus(){
// --------------------------
// ダッシュボードメニュー
// --------------------------
if(current_user_can('editor') || current_user_can('author') || current_user_can('contributor') || current_user_can('subscriber')){
// remove_menu_page('index.php'); // ダッシュボード
remove_submenu_page('index.php','update-core.php'); // ダッシュボード - 更新
}
// --------------------------
// 投稿メニュー
// --------------------------
if(current_user_can('subscriber')){
remove_menu_page('edit.php'); // 投稿
remove_submenu_page('edit.php','post-new.php'); // 投稿 - 新規追加
}
if(current_user_can('author') || current_user_can('contributor') || current_user_can('subscriber')){
remove_submenu_page('edit.php','edit-tags.php?taxonomy=category'); // 投稿 - カテゴリー
remove_submenu_page('edit.php','edit-tags.php?taxonomy=post_tag'); // 投稿 - タグ
}
// --------------------------
// メディアメニュー
// --------------------------
if(current_user_can('contributor') || current_user_can('subscriber')){
remove_menu_page('upload.php'); // メディア
}
if(current_user_can('editor') || current_user_can('author') || current_user_can('contributor') || current_user_can('subscriber')){
remove_submenu_page('upload.php','upload.php'); // メディア - ライブラリ
remove_submenu_page('upload.php','media-new.php'); // メディア - 新規追加
}
// --------------------------
// 固定ページメニュー
// --------------------------
if(current_user_can('editor') || current_user_can('author') || current_user_can('contributor') || current_user_can('subscriber')){
remove_menu_page('edit.php?post_type=page'); // 固定ページ
remove_submenu_page('edit.php?post_type=page','edit.php?post_type=page'); // 固定 - 固定ページ一覧
remove_submenu_page('edit.php?post_type=page','post-new.php?post_type=page'); // 固定 - 新規追加
}
// --------------------------
// コメントメニュー
// --------------------------
if(current_user_can('administrator') || current_user_can('editor') || current_user_can('author') || current_user_can('contributor') || current_user_can('subscriber')){
remove_menu_page('edit-comments.php'); // コメントメニュー
}
// --------------------------
// 外観メニュー
// --------------------------
if(current_user_can('editor') || current_user_can('author') || current_user_can('contributor') || current_user_can('subscriber')){
remove_menu_page('themes.php'); // 外観メニュー
remove_submenu_page('themes.php','themes.php'); // 外観 - テーマ
remove_submenu_page('themes.php','customize.php?return='. rawurlencode($_SERVER['REQUEST_URI'])); // 外観 - カスタマイズ
remove_submenu_page('themes.php','nav-menus.php'); // 外観 - メニュー
remove_submenu_page('themes.php','widgets.php'); // 外観 - ウィジェット
remove_submenu_page('themes.php','theme-editor.php'); // 外観 - テーマエディター
}
// --------------------------
// プラグインメニュー
// --------------------------
if(current_user_can('editor') || current_user_can('author') || current_user_can('contributor') || current_user_can('subscriber')){
remove_menu_page('plugins.php'); // プラグインメニュー
remove_submenu_page('plugins.php','plugins.php'); // プラグイン - インストール済みプラグイン
remove_submenu_page('plugins.php','plugin-install.php'); // プラグイン - 新規追加
remove_submenu_page('plugins.php','plugin-editor.php'); // プラグイン - プラグインエディター
}
// --------------------------
// ユーザーメニュー
// --------------------------
if(current_user_can('editor') || current_user_can('author') || current_user_can('contributor') || current_user_can('subscriber')){
remove_menu_page('users.php'); // ユーザーメニュー
remove_submenu_page('users.php','users.php'); // ユーザー - ユーザー一覧
remove_submenu_page('users.php','user-new.php'); // ユーザー - 新規追加
remove_submenu_page('users.php','profile.php'); // ユーザー - あなたのプロフィール
}
// --------------------------
// ツールメニュー
// --------------------------
if(current_user_can('editor') || current_user_can('author') || current_user_can('contributor') || current_user_can('subscriber')){
remove_menu_page('tools.php'); // ツールメニュー
remove_submenu_page('tools.php','tools.php'); // ツール - 利用可能なツール
remove_submenu_page('tools.php','import.php'); // ツール - インポート
remove_submenu_page('tools.php','export.php'); // ツール - エクスポート
remove_submenu_page('tools.php','site-health.php'); // ツール - サイトヘルス
remove_submenu_page('tools.php','export_personal_data'); // ツール - 個人データのエクスポート
remove_submenu_page('tools.php','remove_personal_data'); // ツール - 個人データの消去
}
// --------------------------
// 設定メニュー
// --------------------------
if(current_user_can('editor') || current_user_can('author') || current_user_can('contributor') || current_user_can('subscriber')){
remove_menu_page('options-general.php'); // 設定メニュー
remove_submenu_page('options-general.php','options-writing.php'); // 設定-投稿設定
remove_submenu_page('options-general.php','options-reading.php'); // 設定-表示設定
remove_submenu_page('options-general.php','options-discussion.php'); // 設定-ディスカッション設定
remove_submenu_page('options-general.php','options-media.php'); // 設定-メディア設定
remove_submenu_page('options-general.php','options-permalink.php'); // 設定-パーマリンク設定
remove_submenu_page('options-general.php','options-privacy.php'); // 設定-プライバシー
}
// --------------------------
// その他メニュー
// --------------------------
if(current_user_can('editor') || current_user_can('author') || current_user_can('contributor') || current_user_can('subscriber')){
remove_menu_page('cptui_main_menu');//Custom Post Type UI
remove_menu_page('wpcf7'); // Contact Form 7
remove_menu_page('aioseo'); // All in One SEO
remove_menu_page('jetpack'); // Jetpack
remove_menu_page('edit.php?post_type=acf-field-group'); // Advanced Custom Fields
remove_menu_page('cptui_main_menu'); // Custom Post Type UI
remove_menu_page('backwpup'); // BackWPup
}
}
add_action('admin_menu', 'remove_menus');
?>