気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。

PHPプログラミングの教科書 [php1st.com]

WordPressダッシュボードのメニューを非表示にするremove_menu_page関数

投稿日:

WordPressダッシュボードのメニューを非表示にするプラグインはいくつかありますが、プラグインを使わなくてもremove_menu_page関数を使えば管理画面からトップレベルのメニュー(外観、プラグイン、設定など)を非表示にすることができます。

remove_menu_page('themes.php');

上記のコードによって「外観」メニューが非表示になります。

「外観」メニューを非表示に

「外観」メニューを非表示に

見せたくないメニューを非表示にしてダッシュボードを柔軟にカスタマイズしたいときに役立ちます。

特定のユーザー以外はメニューを非表示にする場合

これでは誰も「外観」メニューを見られなくなるので、「特定のユーザー以外は」という条件を付けるとよいかもしれません。たとえば、次のコードを使うと「suzuki以外は外観メニューを非表示に」となります。つまり、ユーザーsuzukiだけに外観メニューが表示されます。

/* 特定の管理者以外はメニューを非表示に */
function my_admin_menu(){
  global $current_user;
  if($current_user->user_login != 'suzuki'){
    remove_menu_page('themes.php');
  }
}
add_action('admin_menu', 'my_admin_menu');

「$current_user->user_login」はログイン中のユーザー名を取得するコードです。「$current_user->user_login != 'suzuki'」により、「suzuki以外は(外観メニューを非表示)」になります。

ただし、メニューへのアクセス制限ではなく、あくまで非表示にするだけなので注意してください。

remove_menu_page関数について詳しくは以下のページも参考にしてください。

【参考】関数リファレンス/remove menu page - WordPress Codex 日本語版

PHPの基礎が身に付いたかチェックするなら

PHP「直す力」養成ドリル

-WordPressのPHP

Copyright© PHPプログラミングの教科書 [php1st.com] , 2018 All Rights Reserved Powered by AFFINGER5.