0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Posted at

はじめに

こちらのページの続きで書いてます。

管理者ページの表示項目設定

権限によって表示させる項目を設定することができます。

権限一覧

  • 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');

?>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?