管理者以外は管理バーを表示させない方法

WordPress バージョン3.1から「管理バー」というものが追加されました。

これは、WordPressサイトにログインしている状態の時に、サイト上端に表示される黒背景のバーです。ブログのタイトルや、ログイン中のユーザー名、記事を投稿するリンクなど、色々表示されています。(導入しているテーマやプラグインによって内容は変わります)

adminbar

で、通常であればサイトへ訪れた方が閲覧する場合は、ログインしてない状態なのでこの管理バーは表示されるはずもないのですが、例えば会員サイトを作っている時など「管理者以外がログインした状態でWebサイトを閲覧する可能性がある」場合、この管理バーを表示させたくない場合もあるんですね。

その場合は、functions.php へ以下のように記述すればOKです。

function my_function_admin_bar( $content ) {
    return ( current_user_can( 'edit_posts' ) ) ? $content : false;
}
add_filter( 'show_admin_bar', 'my_function_admin_bar' );

current_user_can( 'edit_posts' )は、「ログイン中のユーザーに記事を投稿する権限があるかどうか?」を判定しています。edit_posts にしておくと、管理者以外に編集者など記事を投稿できるユーザーも管理バーが表示されます。本当に管理者だけ表示させたい場合は、current_user_can( 'manage_options' )とかにしておけば良いです。

お試しあれ。

コメントを残す

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

CAPTCHA