改造する

Release | Updated |

プラグインで生成される管理画面メニューを非表示にする方法。有名プラグイン毎の一覧あり!

この記事では、プラグインによって作成される管理画面上のメニューを消す・非表示にする方法をご紹介します。
「プラグインごとの記述方法一覧」として、有名なプラグインやよく使われるプラグインもご紹介します!

WordPress管理画面のキャプチャ

メニューを消す方法

メニューを消す方法は、functions.phpへ、remove_menu_page()もしくはremove_submenu_page()を用いて非表示にします。
どちらを使うかは、プラグインの設定ページが、メインメニュー内にあのるかそれともサブメニュー内にあるのかの違いです。

  • メインメニュー内にある場合:remove_menu_page()
  • サブメニュー内にある場合;remove_submenu_page()

例えば、「Advanced Custom Fields」の場合はメインメニューに表示されますが、「TinyMCE Advanced」の場合はメインメニュー【設定】の中にサブメニューとして表示されます。この違いによる使い分けです。

function remove_plugin_menus() {
  remove_menu_page( 'edit.php?post_type=acf-field-group' ); // Advanced Custom Fields.
  remove_submenu_page( 'options-general.php', 'tinymce-advanced' ); // TinyMCE Advanced.
}
add_action( 'admin_menu', 'remove_plugin_menus', 999 );

括弧内に記述するスラッグを確認する方法

確認方法は以下2つ。

  • 検証ツール(デベロッパーツール)を開き、メニューのaタグのhreh属性
  • 実際のプラグインのメニューを開いた後のURL

どちらで確認しても同じ記述です。
確認すると、以下のようなパターンがあります。

「admin.php?page=〇〇」の場合

「admin.php?page=〇〇」の場合は、page=〇〇の〇〇が非表示にするために必要なスラッグです。
remove_menu_page() の括弧内に〇〇の部分を記述してください。

例 : 「All-in-One WP Migration」の場合

  • URL : https://sample.com/wp-admin/admin.php?page=ai1wm_export
  • href : <a href="admin.php?page=ai1wm_export">
function remove_plugin_menus() {
  remove_menu_page( 'ai1wm_export' ); // All-in-One WP Migration.
}
add_action( 'admin_menu', 'remove_plugin_menus', 999 );

「edit.php?〇〇」の場合

「edit.php?〇〇」と記載のある場合は、href内全て記述でOKです。
remove_menu_page() の括弧内にすべて記述してください。

例 : 「Advanced Custom Fields」の場合

  • URL : https://sample.com/wp-admin/edit.php?post_type=acf-field-group
  • href : <a href="edit.php?post_type=acf-field-group">
function remove_plugin_menus() {
  remove_menu_page( 'edit.php?post_type=acf-field-group' ); // Advanced Custom Fields.
}
add_action( 'admin_menu', 'remove_plugin_menus', 999 );

その他の場合

その他、下記の例を見てもらえるとわかると思いますが、options-general.php?page=tinymce-advancedとなっています。
この場合、options-general.phpと?page=〇〇の〇〇の部分を2つに分けて記述します。

例 : 「TinyMCE Advanced」の場合

  • URL : https://sample.com/wp-admin/options-general.php?page=tinymce-advanced
  • href : <a href="options-general.php?page=tinymce-advanced">
function remove_plugin_menus() {
  remove_submenu_page( 'options-general.php', 'tinymce-advanced' ); // TinyMCE Advanced.
}
add_action( 'admin_menu', 'remove_plugin_menus', 999 );

プラグインごとの記述方法一覧

ここからは、プラグインごとの記述をご紹介します。

記述の後ろにコメントアウトで「メインメニュー」や「設定」などと、該当するメニューの部分(位置)も記載しています。

消したいメニューをコピーの上、下記の「ここに記述」の部分に追記してください!

function remove_plugin_menus() {
  // ここに記述
}
add_action( 'admin_menu', 'remove_plugin_menus', 999 );

All-in-One WP Migration

remove_menu_page( 'ai1wm_export' ); // All-in-One WP Migration. メインメニュー.

All-in-One WP Migration – WordPress プラグイン | WordPress.org 日本語

BackWPup

remove_menu_page( 'backwpup' ); // BackWPup. メインメニュー.

BackWPup – WordPress Backup Plugin – WordPress プラグイン | WordPress.org 日本語

All in One SEO

remove_menu_page( 'aioseo' ); // All In One SEO. メインメニュー.

All in One SEO – WordPress プラグイン | WordPress.org 日本語

Yoast SEO

remove_menu_page( 'wpseo_dashboard' ); // Yoast SEO. メインメニュー.

Yoast SEO – WordPress プラグイン | WordPress.org 日本語

Google XML Sitemaps

remove_submenu_page( 'options-general.php', 'google-sitemap-generator/sitemap.php' ); // XML Sitemaps. 設定.

XML Sitemaps – WordPress プラグイン | WordPress.org 日本語

Contact Form 7

remove_menu_page( 'wpcf7' ); // Contact Form 7. メインメニュー.

Contact Form 7 – WordPress プラグイン | WordPress.org 日本語

MW WP Form

remove_menu_page( 'edit.php?post_type=mw-wp-form' ); // MW WP Form. メインメニュー.

MW WP Form – WordPress プラグイン | WordPress.org 日本語

Advanced Custom Fields

remove_menu_page( 'edit.php?post_type=acf-field-group' ); // Advanced Custom Fields. メインメニュー.

Advanced Custom Fields – WordPress プラグイン | WordPress.org 日本語

Custom Post Type UI

remove_menu_page( 'cptui_main_menu' ); // Custom Post Type UI. メインメニュー.

Custom Post Type UI – WordPress プラグイン | WordPress.org 日本語

TinyMCE Advanced

remove_submenu_page( 'options-general.php', 'tinymce-advanced' ); // TinyMCE Advanced. 設定.

Advanced Editor Tools (previously TinyMCE Advanced) – WordPress プラグイン | WordPress.org 日本語

Easy Table of Contents

remove_submenu_page( 'options-general.php', 'table-of-contents' ); // Easy Table of Contents. 設定.

Easy Table of Contents – WordPress プラグイン | WordPress.org 日本語

Table of Contents Plus

remove_submenu_page( 'options-general.php', 'toc' ); // Table of Contents Plus. 設定.

Table of Contents Plus – WordPress プラグイン | WordPress.org 日本語

EWWW Image Optimizer

remove_submenu_page( 'upload.php', 'ewww-image-optimizer-bulk' ); // EWWW Image Optimizer. メディア.
remove_submenu_page( 'tools.php', 'ewww-image-optimizer-tools' ); // EWWW Image Optimizer. ツール.
remove_submenu_page( 'options-general.php', 'ewww-image-optimizer-options' ); // EWWW Image Optimizer. 設定.

「EWWW Image Optimizer」は、3つのメニューが表示されるため、それぞれの非表示にする記述が必要です。

EWWW Image Optimizer – WordPress プラグイン | WordPress.org 日本語

Yoast Duplicate Post

remove_submenu_page( 'options-general.php', 'duplicatepost' ); // Duplicate Post. 設定.

Yoast Duplicate Post – WordPress プラグイン | WordPress.org 日本語

Highlighting Code Block

remove_submenu_page( 'options-general.php', 'hcb_settings' ); // Highlighting Code Block. 設定.

Highlighting Code Block – WordPress プラグイン | WordPress.org 日本語

注意点

非表示にしても、URLを直打ちすることでアクセス自体はできるので注意しましょう!

例えば、「All-in-One WP Migration」の場合は下記のようなURLです。

https://ドメイン名/wp-admin/admin.php?page=ai1wm_export

あくまでも簡易的な非表示を目的に使ってください

まとめ

少しのひと手間ではありますが、スッキリとしてわかりやすい管理画面が構築できるため、運用面でもヒューマンエラーを防ぐ期待ができます

ぜひ一度トライしてみてください!

なお、WordPressのデフォルトで生成される【ダッシュボード】をはじめ、【投稿】【メディア】【固定ページ】【コメント】などを非表示にする方法については、下記記事で紹介しています。あわせて是非!

それでは!
Good WordPress!!!

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

すべての記事一覧へ

  1. HOME
  2. プラグインで生成される管理画面メニューを非表示にする方法。有名プラグイン毎の一覧あり!