ダッシュボードのメニューを非表示にする関数は、remove_menu_page
を使用する。サブメニューの非表示には、remove_submenu_page
を使用する。これらの関数で非表示にしても、ユーザーは直接アクセスできるので注意する。
remove_menu_page( $menu_slug );
すべてのユーザーから、すべてのメニューを非表示にする場合
function my_remove_menus() {
// ダッシュボード
remove_menu_page('index.php');
// 投稿
remove_menu_page('edit.php');
// メディア
remove_menu_page('upload.php');
// 固定ページ
remove_menu_page('edit.php?post_type=page');
// コメント
remove_menu_page('edit-comments.php');
// 外観
remove_menu_page('themes.php');
// プラグイン
remove_menu_page('plugins.php');
// ユーザー
remove_menu_page('users.php');
// ツール
remove_menu_page('tools.php');
// 設定
remove_menu_page('options-general.php');
}
add_action('admin_menu', 'my_remove_menus');
一部のユーザーのみ非表示にする場合は、current_user_can
を使用して、権限をチェックする。
current_user_can( $capability );
サブメニューを非表示にしたい場合は、remove_submenu_page
関数を使用する。
remove_submenu_page( $menu_slug, $submenu_slug );
パラメータ
- $menu_slug:(必須) 親メニューのスラッグ
- $submenu_slug:(必須) サブメニューのスラッグ
親メニューとサブメニューをすべて非表示にする場合
/*
* =====管理画面のメニューを非表示にする=====
*/
function my_remove_menus() {
remove_menu_page('index.php');
remove_submenu_page('index.php', 'index.php');
remove_submenu_page('index.php', 'update-core.php');
remove_menu_page('separator1'); // セパレータ1
remove_menu_page('edit.php');
remove_submenu_page('edit.php', 'edit.php');
remove_submenu_page('edit.php', 'post-new.php');
remove_submenu_page('edit.php', 'edit-tags.php?taxonomy=category');
remove_submenu_page('edit.php', 'edit-tags.php?taxonomy=post_tag');
remove_menu_page('upload.php');
remove_submenu_page('upload.php', 'upload.php');
remove_submenu_page('upload.php', 'media-new.php');
remove_menu_page('link-manager.php');
remove_submenu_page('link-manager.php', 'link-manager.php');
remove_submenu_page('link-manager.php', 'link-add.php');
remove_submenu_page('link-manager.php', 'edit-tags.php?taxonomy=link_category');
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');
remove_menu_page('edit-comments.php');
remove_menu_page('separator2'); // セパレータ2
remove_menu_page('themes.php');
remove_submenu_page('themes.php', 'themes.php');
remove_submenu_page('themes.php', 'widgets.php');
remove_submenu_page('themes.php', 'theme-editor.php');
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');
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');
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_menu_page('options-general.php');
remove_submenu_page('options-general.php', '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-privacy.php');
remove_submenu_page('options-general.php', 'options-permalink.php');
remove_menu_page('profile.php');
}
add_action('admin_menu', 'my_remove_menus');