Webサイト制作・開発、HTMLメール制作、Webコンサルティングなら

ocws[ オクワス ]

ブログ

BLOG

WordPress 管理画面の左メニューを非表示にする方法

WordPress 管理画面の左メニューを非表示にする方法

WordPressを個人で運営しているのならばよいのですが、
クライアントが更新するなどの条件がある場合、あまり必要以外のところはいじってほしくないというのが制作側の思いだと思います。
(へんなことになりかねないですからね)

今回はせんど書かれているやつをまとめたバージョンで書いておこうと思います。

remove_menu_page()を使ったら一発

とりあえず、形はこんな感じです。シンプルに書くと。

function remove_menus(){

  remove_menu_page( $menu_slug );

}
add_action( 'admin_menu', 'remove_menus' );

$menu_slugはURLを見てもらって/wp-admin/の後ろにつくURLのことです。
つまり、/wp-admin/の後ろにつくURLをそのままremove_menu_page()()の中に入れてあげればよいです。これで非表示になってくれます。下に主要なページのremove_menu_page()を載っけておきますね。表示させるものだけコメントアウトしてもらえればOKでしょう。

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' );

※非表示ということでGUIからはアクセスできないのですが、URLをそのまま打ってしまうと普通に出てきます。笑 これを制御するには個別にアクセスできないようにする必要があります。(難儀なこっちゃ)

あ、あとこれだと管理者にも見えなくなっちゃうので、管理者では全部見せときたい!というときは下記のようにユーザー権限で条件分岐させておきましょう。

function remove_menus(){

    if (!current_user_can('level_10')) {
      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' );

current_user_can()で管理者(level_10)以外だったらremove_menu_page()っていう感じですね。

これで、いい感じにシンプル(逆に簡素)な管理画面が出来上がると思います。

お問い合わせ・ご相談CONTACT

オクワスでは、Webを通して魅力を最大限に伝えるお手伝いをしております。ホームページ制作やWebからの集客などでのお困りごと、Web開発で人手が足りないなどございましたら一度お気軽にご連絡ください。

お問い合わせフォームまたは𝕏のDMからご相談お受けしております。

お問い合わせフォームへDMからご連絡ください
© 2015 - 2024 Okuda Kouki