クライアントの管理画面をできるだけスッキリさせたい!
WordPressで管理者以外の管理画面左メニューからプラグインメニューを非表示にする方法を紹介します。
あっても問題ないのですが、クライアントもわけの分からないボタンがあると気になるでしょうし、間違って触ってしまって設定が変わってしまうというトラブルを防ぐことにもなると思います。
通常のメニューは functions.php に以下のように記述すれば非表示にできますが、プラグインのメニューはこれでは非表示にできません。
[crayon]
if (!current_user_can(‘edit_users’)) {
function remove_menus () {
global $menu; $restricted = array(
__(‘ツール’), //例
__(‘リンク’) //例 );
end ($menu);
while (prev($menu)){
$value = explode(‘ ‘,$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:”” ,
$restricted)){ unset($menu[key($menu)]);
}
}
}
add_action(‘admin_menu’, ‘remove_menus’); }
[/crayon]
プラグインのメニューを管理者以外の管理画面で非表示にするには、functions.phpに以下のように追記します。
[crayon]
function hide_admin_menu() {
global $current_user; get_currentuserinfo();
if($current_user->user_login != ‘admin’) { echo
//プラグインのidを記入
}
}
[/crayon]
上記のコード中の“プラグインメニューのid”のところに非表示にしたいプラグインメニューのCSSのidを記述するのですが、そのidってどこ?
管理画面でソースコードを表示させ目的のプラグインメニューを探します。
ちょっと分かりにくいかもしれませんが、以下のようなリストの中のid=の部分です。