WordPressで自作テーマを作る(管理者ページの表示項目設定)

# はじめに
こちらのページの続きで書いてます。

https://qiita.com/Nats72/items/53e0b56c4fa308fb8b00

# 管理者ページの表示項目設定
権限によって表示させる項目を設定することができます。

## 権限一覧
- 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');

?>
```