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