Release | Updated |
不要なWordPress管理画面のサイドメニューを消す・非表示にする方法(functions.php使用)
この記事では管理画面のサイドメニューについての管理方法ついてご紹介・解説します。
クライアントによっては、操作して欲しくないために「表示をしたくないっ!」というメニューもあるかと思います。プラグインでも削除できますがfunctions.phpから簡単に削除できるので、一覧でまとめてみました。
この記事でできること
- プラグインなしで、管理画面にあるサイドメニューを非表示にできる
- プラグインなしで、管理画面にあるサイドメニューのサブメニューを非表示にできる
この記事で利用するもの
- functions.php
- WordPress管理画面
管理画面のサイドメニューとは?
管理画面のサイドメニューとは、下記画像の左側の黒い部分です。
【ダッシュボード】をはじめ、【投稿】【メディア】【固定ページ】【コメント】などが並びます。
使わない項目があるのに表示されているというのは特に問題無いですが、親切でクオリティの高い設計ではありません。
「間違って触ってしまい、あと戻りできなくなってしまった。。。」といったことを防ぐためにも、あらかじめ非表示にしておくなどの対策をしておきましょう!
【全体像】管理画面のサイドメニューを非表示にするコードのすべて
どのサイドメニューに対応しているかを、コメントで記載してます。
追って詳しく解説していきます!
// サイドメニューを非表示
function 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', 'remove_menus', 999 );
// サイドメニューのサブメニューを非表示
function remove_submenus() {
// ダッシュボード
remove_submenu_page( 'index.php', 'index.php' ); // ホーム
remove_submenu_page( 'index.php', 'update-core.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_submenu_page( 'upload.php', 'upload.php' ); // ライブラリ
remove_submenu_page( 'upload.php', 'media-new.php' ); // 新規追加
// 固定ページ
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_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' ); // テーマエディタ
// プラグイン
remove_submenu_page( 'plugins.php', 'plugins.php' ); // インストール済みプラグイン
remove_submenu_page( 'plugins.php', 'plugin-install.php' ); // 新規追加
remove_submenu_page( 'plugins.php', 'plugin-editor.php' ); // プラグインエディタ
// ユーザー
remove_submenu_page( 'users.php', 'users.php' ); // ユーザー一覧
remove_submenu_page( 'users.php', 'user-new.php' ); // 新規追加
remove_submenu_page( 'users.php', 'profile.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' ); // 個人データの消去
// 設定
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-permalink.php' ); // メディア
remove_submenu_page( 'options-general.php', 'privacy.php' ); // プライバシー
}
add_action( 'admin_menu', 'remove_submenus', 999 );
1.メインメニューを消す
該当箇所のコード
標準で備わっているWordPressのサイドメニューを消す処理が以下になります。
消したくないメニューなどは必要に応じて削除してfunctions.phpに記述してください。
// サイドメニューを非表示
function 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', 'remove_menus', 999 );
解説
下記をremove_menu_page
によって非表示にしています。
- ダッシュボード
- 投稿
- メディア
- 固定ページ
- コメント
- 外観
- プラグイン
- ユーザー
- ツール
- 設定
テーマのコードを直接触ることができる「外観」や、利用する機会が少ない「コメント」や「ツール」は非表示にする対象として良いかもしれません。
2.サブメニューを消す
該当箇所のコード
function remove_submenus() {
// ダッシュボード
remove_submenu_page( 'index.php', 'index.php' ); // ホーム
remove_submenu_page( 'index.php', 'update-core.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_submenu_page( 'upload.php', 'upload.php' ); // ライブラリ
remove_submenu_page( 'upload.php', 'media-new.php' ); // 新規追加
// 固定ページ
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_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' ); // テーマエディタ
// プラグイン
remove_submenu_page( 'plugins.php', 'plugins.php' ); // インストール済みプラグイン
remove_submenu_page( 'plugins.php', 'plugin-install.php' ); // 新規追加
remove_submenu_page( 'plugins.php', 'plugin-editor.php' ); // プラグインエディタ
// ユーザー
remove_submenu_page( 'users.php', 'users.php' ); // ユーザー一覧
remove_submenu_page( 'users.php', 'user-new.php' ); // 新規追加
remove_submenu_page( 'users.php', 'profile.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' ); // 個人データの消去
// 設定
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-permalink.php' ); // メディア
remove_submenu_page( 'options-general.php', 'privacy.php' ); // プライバシー
}
add_action( 'admin_menu', 'remove_submenus', 999 );
解説
各サイドメニューの中にはサブメニューが存在します。
例えば「投稿」の場合、「投稿一覧」「新規追加」「カテゴリー」「タグ」がサブメニューとして表示されます。※下記画像例
これらのみ消したい場合に記述することで、親のメニューは残しつつサブメニューのみ非表示にすることが可能です。
特定のサブメニューだけ消したい場合はremove_submenu_page
を使って親メニューを指定しつつ削除します。
注意点としては、サブメニューを全部消しても親メニュー自体は残っており、URLを直接打ち込むことでその項目にアクセスできてしまいます。
親メニュー自体が不要な場合は、上記「サイドメニューを消す方法」ご紹介したremove_menu_page
で一括削除をしてください。