CATEGORY

改造する

Release | Updated |

不要な管理画面のサイドメニューを消す方法 ( プラグインなし ) ( functions.php )

不要な管理画面のプラグインなし!サイドメニューを消す方法

この記事では管理画面のメニューを消す方法についてご紹介・解説・します。

概要

この記事でできること

  • プラグインなしで、管理画面にあるサイドメニューを非表示にできる
  • プラグインなしで、管理画面にあるサイドメニューのサブメニューを非表示にできる

この記事で利用するもの

  • functions.php
  • WordPress管理画面

管理画面のサイドメニューとは?

管理画面のサイドメニューとは、下記画像の左側の黒い部分です。

管理画面

主にクライアント制作において、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.サイドメニューを消す

該当箇所のコード

// サイドメニューを非表示
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によって非表示にしています。

なお、今回ご紹介したコードをそのままfunctions.phpに記述すると全てのサイドメニューが消えます。非表示にしたくないサイドメニューがある場合は、該当のコードを削除、もしくは、コメントアウトしてしてください。

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で一括削除をしてください。

参考サイト

こちらの記事もいかかですか?

  1. HOME
  2. 不要な管理画面のサイドメニューを消す方法 ( プラグインなし ) ( functions.php )