

WordPressの管理画面にはたくさんのメニューが表示されています。
よく使うメニューもあればほとんど使わないメニューもあり、クライアントによっては

と聞かれる事もあります。
プラグインを使っても出来ますが、今回はプラグインを使わない方法をご紹介します。

(有料になっていたらすいません🙇♂️)
WordPress管理画面の不要なメニューを非表示にする方法
メニューには『メインメニュー』と『サブメニュー』、あとは『プラグインのメニュー』があります。
まずはメインメニューを非表示にする方法からご紹介します。
メインメニューを非表示にする方法
まずはデフォルトの状態がこちらになります。

WordPress:メインメニュー
プラグインがいくつか入っていますが、それについては後ほど解説します。
まずはこれらのメニューを非表示にするには『functions.php』にコードを追加します。
// 管理画面からメインメニューを非表示にする
function remove_menus() {
remove_menu_page( 'index.php' ); // ダッシュボード
remove_menu_page( 'edit.php' ); // 投稿
remove_menu_page( 'edit.php?post_type=campaign' ); // カスタム投稿タイプcampaign
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 );
すると表示がこのようになります。

WordPress:メインメニュー非表示
そしてこの残った3つはプラグインメニューになります。
プラグインメニューを非表示にする方法
プラグインメニューを非表示にする方法ですが、とりあえず先ほどの3つを非表示にするには以下のコードを書きます。
// 管理画面からプラグインメニューを非表示にする
function remove_plugins_menus() {
remove_menu_page( 'wpcf7' ); // Contact Form 7
remove_menu_page( 'ai1wm_export' ); // All-in-One WP Migration
remove_menu_page( 'cptui_main_menu' ); // Custom Post Type UI
}
add_action( 'admin_menu', 'remove_plugins_menus' );
するとこのように綺麗にメニューが非表示になりました。

WordPress:プラグインメニュー非表示
しかしプラグインは無数にあるので、remove_menu_page( 'wpcf7' );
のカッコ内に入れるスラッグの調べ方を知る必要があります。
それには検証ツール(デベロッパーツール)を開いて調べます。
Contact Form7の場合は、メニューのaタグを見てみます。

検証ツール
ここが『admin.php』の場合は『page=』のあとが非表示にするのに必要なスラッグとなります。
『edit.php』の場合は以下の赤枠全部でOKです。

検証ツール
サブメニューを非表示にする方法
次はサブメニューを非表示にする方法です。
サブメニューとはメインメニューの下層メニューになります。

WordPress:サブメニュー
ちょっと量が多いですが、以下になります。
// 管理画面からサブメニューを非表示にする
function remove_sub_menus() {
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( 'edit.php?post_type=campaign', 'post-new.php?post_type=campaign' ); //カスタム投稿「campaign」 新規追加
remove_submenu_page( 'edit.php?post_type=campaign', 'edit-tags.php?taxonomy=campaign_cat&post_type=campaign' ); //カスタム投稿campaignのカスタムタクソノミーcampaign_cat
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.php' ); // ツール → 個人データのエクスポート
remove_submenu_page( 'tools.php', 'erase-personal-data.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-permalink.php' ); // 設定 → パーマリンク
remove_submenu_page( 'options-general.php', 'options-privacy.php' ); // 設定 → プライバシー
}
add_action( 'admin_menu', 'remove_sub_menus', 999 );
これでメインメニューにカーソルを乗せてもサブメニューは表示されなくなります。
アドミンバーのメニューを非表示にする方法
管理者がページを開くと上に黒いバーが表示されます。

WordPressアドミンバー
これをアドミンバーやツールバーと言いますが、このメニューも1つずつ非表示にする事が出来ます。
// アドミンバーのメニューを非表示にする
function remove_admin_bar_menus( $wp_admin_bar ) {
$wp_admin_bar->remove_menu( 'wp-logo' ); // ロゴ
$wp_admin_bar->remove_menu( 'about' ); // ロゴ → WordPressについて
$wp_admin_bar->remove_menu( 'wporg' ); // ロゴ → WordPress.org
$wp_admin_bar->remove_menu( 'documentation' ); // ロゴ → ドキュメンテーション
$wp_admin_bar->remove_menu( 'support-forums' ); // ロゴ → サポート
$wp_admin_bar->remove_menu( 'feedback' ); // ロゴ → フィードバック
$wp_admin_bar->remove_menu( 'site-name' ); // サイト名
$wp_admin_bar->remove_menu( 'comments' ); // コメント
$wp_admin_bar->remove_menu( 'new-content' ); // 新規
$wp_admin_bar->remove_menu( 'new-post' ); // 新規 → 投稿
$wp_admin_bar->remove_menu( 'new-media' ); // 新規 → メディア
$wp_admin_bar->remove_menu( 'new-page' ); // 新規 → 固定
$wp_admin_bar->remove_menu( 'new-user' ); // 新規 → ユーザー
$wp_admin_bar->remove_menu( 'customize' ); // カスタマイズ
$wp_admin_bar->remove_menu( 'edit' ); // 固定ページを編集
$wp_admin_bar->remove_menu( 'my-account' ); // こんにちは、[ユーザー名]さん
$wp_admin_bar->remove_menu( 'user-info' ); // ユーザー → [ユーザー名]
$wp_admin_bar->remove_menu( 'edit-profile' ); // ユーザー → プロフィールを編集
$wp_admin_bar->remove_menu( 'logout' ); // ユーザー → ログアウト
$wp_admin_bar->remove_menu( 'search' ); // 検索
}
add_action( 'admin_bar_menu', 'remove_admin_bar_menus', 999 );
まとめ
今回はWordPress管理画面の不要なメニューを非表示にする方法を解説しました。
使わない項目が表示されているとクライアントが誤って消してしまう可能性もあります(以前トップページをゴミ箱に捨ててしまったクライアントがいました)
そういったリスクを避けるだけでなく、見やすくする為にも不要なメニューは非表示にするとスッキリしていいかと思います。
以上になります。
-
【WordPress】固定ページや投稿編集画面の不要な項目を非表示にする方法【プラグイン不要】
続きを見る
