WordPressサイトでダッシュボードへのログインユーザーに応じて管理画面のメニューを消す方法をご紹介します。
目次
メニューを消したダッシュボードのイメージ
今回はダッシュボード左側のメニューを例にご紹介します。
何も設定してないダッシュボードでは、以下のように多数のメニューが表示されています。

今回ご紹介する設定をすべて追加すると、ダッシュボードのメニューが以下のように「投稿」メニューのみとなります。

ログインユーザーに応じて管理画面のメニューを消す方法
WordPressのテーマファイルを編集してメニューを消します。
テーマファイルを編集する際は子テーマを作成してそちらで作業します。
コードの全体像
次の処理を子テーマのfunctions.phpに追加します。
function my_first_page()
{
if (strpos($_SERVER['SCRIPT_NAME'], '/wp-admin/index.php') !== false) {
wp_redirect(admin_url('edit.php'));
}
}
function my_admin_menus()
{
remove_menu_page('index.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');
remove_menu_page('profile.php');
}
if (strcmp(wp_get_current_user()->user_login, 'editor') === 0) {
add_action( 'admin_init', 'my_first_page' );
add_action( 'admin_menu', 'my_admin_menus');
}このコードでは、ユーザー名が「editor」でダッシュボードにログインしたとき、WordPress管理画面が表示される前に次の処理を行っています。
- 「投稿」メニュー以外を非表示にする
- ダッシュボードから「投稿」メニューへリダイレクトする
まとめ
WordPressサイトでダッシュボードへのログインユーザーに応じて管理画面のメニューを消す方法をご紹介しました。
同じような要領でヘッダーバーのメニューなども消すことができます。
例えばWordPressに詳しくない方へお知らせの更新をお願いするときは、「投稿」メニュー以外を非表示にして、さらにはじめから「投稿」メニューを表示しておくと、どのメニューを選べばいいのかなどの迷いを極力減らすことができます。
弊社ではWEBサイトの制作や保守を行っています。WordPressサイトも対応しているのでお気軽ご相談ください。




