WP管理画面のメニューの表示、非表示の切替え方法・手順

テーマ内のfunctions.phpに下記を足します。

下記の書き方は’level0’すなわち管理者権限がないアカウントでログインした場合は記載してある項目が非表示になります。

非表示にしたくなければその行をコメントアウトすればOKです。

//==========================================
//          管理画面メニューを編集者用に
//==========================================
function remove_admin_menus() {
 
    // level10以外のユーザーの場合
    if (!current_user_can('level_10')) {
 
        global $menu;
 
        unsetで非表示にするメニューを指定
        unset($menu[2]);        // ダッシュボード
        unset($menu[5]);        // 投稿
        unset($menu[10]);       // メディア
        unset($menu[20]);       // 固定ページ
        unset($menu[25]);       // コメント
        unset($menu[60]);       // 外観
        unset($menu[65]);       // プラグイン
        unset($menu[70]);       // ユーザー
        unset($menu[75]);       // ツール
        unset($menu[80]);       // 設定

        remove_menu_page('wpcf7');  //contactform7
    }
}
add_action('admin_menu', 'remove_admin_menus');

ちなみに権限のレベルは下記になっていますのでlevelを変更する時は参考に。

ログイン 権限LEVEL
管理者 10
編集者 7
投稿者 2
寄稿者 1
購読者 0

また、同一権限でもユーザーによって表示させるメニューを変更したい場合もあります。

ユーザー名別でもOK

そんな時には、下記のようにユーザー名で分岐も出来ます。

function remove_admin_menus(){

    global $menu;
    global $current_user;

    if($current_user->user_login == “ユーザー名”){
        unset($menu[2]); // ダッシュボード
        unset($menu[5]); // 投稿
        unset($menu[10]); // メディア
        unset($menu[15]); // リンク
        unset($menu[20]); // ページ
        unset($menu[25]); // コメント
        unset($menu[60]); // テーマ
        unset($menu[65]); // プラグイン
        unset($menu[70]); // プロフィール
        unset($menu[75]); // ツール
        unset($menu[80]); // 設定
    }

}
add_action(“admin_menu”, remove_admin_menus);

カスタム投稿タイプが絡んでくる時

権限によってカスタム投稿タイプを管理画面から非表示にしたい場合は、下記のプラグインを使う方が早いです。

Adminimize

以上です。

  • このエントリーをはてなブックマークに追加
スポンサーリンク
スポンサーリンク