WordPressログイン時のツールバーを非表示に設定する方法

管理画面のツールバーを非表示にする
先生

WordPress の管理画面にログインすると、次のように画面上部に黒いツールバー(管理バー)が表示されるな。

上部に表示されるツールバー
生徒

うん、そうだね。

先生

カスタマイズすることで、ログインした人の権限やユーザーによって、このツールバーを隠したりすることもできるんじゃ。

生徒

あれ、ツールバーを隠したいことなんてあるのかな?

先生

例えば、ワードプレスで会員サイトを作ったとしよう。

管理者はいいけど、一般の会員がサイトにログインした時は管理画面の機能にアクセスされないようツールバーは非表示にしておきたい、といったカスタマイズをしたいケースが結構あるんじゃよ。

生徒

はっはー、なるほどねえ。

先生

それでは、ツールバーを非表示にする方法について説明しよう。

ツールバーを常に非表示にする場合

functions.php 等に次のコードを追加すると、常に非表示となります。

add_filter( 'show_admin_bar', '__return_false' );

特定の画面のみ表示したい場合

例えば、管理画面を表示しているときだけ表示させたい場合は、functions.php 等に次のコードを追加します。

// 管理画面ではない場合のみ非表示にする
if ( ! is_admin() ) {
     add_filter( 'show_admin_bar', '__return_false' );
}
先生

上のコードのis_admin() の個所を条件分岐タグを使って置き換えれば、特定のページで出し分けるようなこともできるぞ。

特定の権限のユーザーのみ表示させたい場合

例えば、管理者権限のユーザーでログインしたときだけツールバーを表示させたい場合は、functions.php に次のようなコードを追加します。

function my_show_admin_bar( $content ) {
    // 管理者の場合は表示
    if ( current_user_can( 'administrator' ) ) {
        return $content;
    // 管理者以外の場合は非表示
    } else {
        return false;
    }
}
add_filter( 'show_admin_bar' , 'my_show_admin_bar' );

current_user_can() の引数に指定している権限グループ名を変更すれば、その他の権限に対しても同じように設定できます。

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

特定のユーザーのみ表示させたい場合

例えば、ユーザー名「taro」でログインしたときだけツールバーを表示したいという場合、functions.php に次のようなコードを追加します。

function my_show_admin_bar( $content ) {
    global $user_login;
    // ユーザー「taro」の場合
    if ( $user_login == 'taro' ) {
        return $content;
    } else {
        return false;
    }
}
add_filter( 'show_admin_bar' , 'my_show_admin_bar' );
生徒

あのユーザーには見せたくないから表示しない、なんてこともできちゃうわけだね〜。えっ、もちろんそんなことはしないけど!

参考URL