福岡 web・ホームページ制作 Eight(エイト)

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

wp
Category:WordPress

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 Article

Comments

Page Top