2022年1月6日

WordPressの管理画面メニューから不要な項目を非表示にする方法

サイトを更新管理するための管理画面を手軽に導入できることが有難いWordpressですが、時には一部の管理メニューを非表示にしたい時もあります。ある程度はユーザーの「権限グループ」で制御できますが、「管理者のままで良いけどコメントを受け付けていないのでコメントのメニューは不要」といった場合や、「請負で制作したサイトでクライアントが管理画面を操作する時にプラグインやツールのメニューは不要」といった場合に活用できる、WordPress管理画面のメニュー非表示に関する内容を書いていきます。

functions.php に除外したいメニューを指定

WordPress の設定を変更する時は functions.php を編集しましょう。という事で、以下をコピペすることで、それぞれのメニューが非表示となります。
※このまま反映すると「ユーザー」や「プロフィール」メニューだけになってしまいますので、非表示にしたいメニューだけ記述してください

functions.php

add_action( 'admin_menu', 'remove_menus' );
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( 'tools.php' );

    //設定
    remove_menu_page( 'options-general.php' );
}

権限別に表示メニューを設定する

上記の通り、そのまま functions.php に設定して反映すると全権限のユーザーの管理メニューから非表示となってしまいます。特定の権限だけ反映されるようにしたい場合は、以下のように if 文で指定することができます。

add_action( 'admin_menu', 'remove_menus' );
function remove_menus(){
    if( current_user_can( 'administrator' ) ){
        //ダッシュボード
        remove_menu_page( 'index.php' );

        // その他、非表示にしたいメニュー
    }
}

if( current_user_can( ‘administrator’ ) )」の部分が条件に該当します。この値を以下のように変えることで、それぞれの権限の管理メニューに反映することが出来ます。

管理者:administrator
編集者:editor
投稿者:author
寄稿者:contributor
購読者:subscriber

以上、Wordpressの管理画面メニューから不要な項目を非表示にする方法でした。

コメントを残す

メールアドレスが公開されることはありません。