wp

WP(ワードプレス)における管理画面のサイドやヘッダーのボタンの非表示方法を、福岡一わかりやすく解説

WPの管理画面においてユーザーや権限ごとに、表示させたくないボタンがあるかと思います。そんな時、プラグインを入れずに簡単なコードをfunction.phpに記述するだけで制御できます。

表示させたくないボタンを指定する

// 管理画面サイドバーメニュー非表示
function removeMenus () {
global $menu;
unset($menu[2]);//ダッシュボード
unset($menu[4]);//メニューの線1
unset($menu[5]);//投稿
unset($menu[10]);//メディア
unset($menu[15]);//リンク
unset($menu[20]);//ページ
unset($menu[25]);//コメント
unset($menu[59]);//メニューの線2
unset($menu[60]);//テーマ
unset($menu[65]);//プラグイン
unset($menu[70]);//プロフィール
unset($menu[75]);//ツール
unset($menu[80]);//設定
unset($menu[90]);//メニューの線3
}
add_action('admin_menu', 'removeMenus');

グローバル変数の$menuに管理画面のボタンが格納されているのでunset()で非表示にしたいボタン(変数)を破棄します。主な表示は上記に記述してあるもので非表示にできます。

このほかにもロゴなども非表示にできます。
上記記述以外で管理画面上部の管理バーは、remove_menu()を使って非表示にできます。

function removeHeadMenus( $wp_admin_bar ) {
$wp_admin_bar->remove_menu('wp-logo'); // WP ロゴ
$wp_admin_bar->remove_menu('site-name'); // サイト名
$wp_admin_bar->remove_menu('view-site'); // サイト名 -> サイトを表示
$wp_admin_bar->remove_menu('comments'); // コメント
$wp_admin_bar->remove_menu('new-content'); // 新規
$wp_admin_bar->remove_menu('new-post'); // 新規 -> 投稿
$wp_admin_bar->remove_menu('new-media'); // 新規 -> メディア
$wp_admin_bar->remove_menu('new-link'); // 新規 -> リンク
$wp_admin_bar->remove_menu('new-page'); // 新規 -> 固定ページ
$wp_admin_bar->remove_menu('new-user'); // 新規 -> ユーザー
$wp_admin_bar->remove_menu('updates'); // 更新
$wp_admin_bar->remove_menu('my-account'); // マイアカウント
$wp_admin_bar->remove_menu('user-info'); // マイアカウント -> プロフィール
$wp_admin_bar->remove_menu('edit-profile'); // マイアカウント -> プロフィール編集
$wp_admin_bar->remove_menu('logout'); // マイアカウント -> ログアウト
}
add_action('admin_bar_menu', 'removeHeadMenus', 201);

参考:[WordPress] 管理バーの不要な項目を削除する | unlinked log

権限やユーザーごとに表示・非表示をしていする

権限・ユーザーごとに、個別のメニューボタンやカスタム投稿を表示・非表示をコントロールすることもできます。

// 管理画面サイドバーメニュー非表示
function removeMenus () {
global $menu;
$user = wp_get_current_user();//ログインしているユーザー情報
if( !current_user_can('administrator') ){//権限
unset($menu[5]);
}
if( $user->get('ID') == 10 || $user->get('user_login') != "Author"  ){//ユーザーIDかユーザー名
unset($menu[5]);
}
}
add_action('admin_menu', 'removeMenus');

メディアや固定ページボタンの表示位置を変更する

WPを構築する時に、カスタム投稿が増えすぎてメディアボタンや固定ページボタンが変な位置に表示される場合があります。そんな時は下記記述で再配置できるます。

// 管理画面サイドバーメニュー非表示
function removeMenus () {
global $menu;
$menuReserve = $menu[10];//メディアボタンをコピー
unset($menu[10]);//メディアボタンを非表示
$menu[58] = $menuReserve;//メディアボタンを再配置。58などの数値は任意
}
add_action('admin_menu', 'removeMenus');

上記のような、コピー→非表示→再配置で各種ボタンの配置変更ができます。管理画面のカスタマイズに是非、使ってみてください。

Related articles