understandard

2011-03-01

WordPress 3.1で追加された管理バーを非表示にする方法

WordPress 3.1がリリースされ、ログイン中にはサイトに管理バーが表示されるようになりました。

管理バー

この機能が不要な場合は、管理画面のプロフィール設定から表示・非表示を切り替えられます。

プロフィール設定

毎回この設定を変更するのは面倒

ユーザーが1人の場合などは一回設定をすればいいですが、複数のサイトのユーザーについて毎回管理バーを非表示にするためにポチポチしていくのは面倒です。

WordPress Codex に管理バーを非表示にする方法が書いてあったので、このサイトで試してみました。
functions.php に以下の記述を追加するだけで一括で非表示にできます。

function my_function_admin_bar(){
return false;
}
add_filter( 'show_admin_bar' , 'my_function_admin_bar');

もっと単純に以下の1文でも非表示にできました。

add_filter( 'show_admin_bar', '__return_false' );

この方法で非表示にすることはできたのですが、functions.php を更新したあとに管理画面からログアウト→再ログインしないと設定が反映されませんでした。
僕の環境だけかもしれませんが、うまくいかなかった場合はログアウト→再ログインしてみてください。

なお、管理者でログインしている場合のみ表示するようにしたい場合は以下のようにすればよいそうです。

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

参照:Plugin API/Filter Reference/show admin bar « WordPress Codex

管理画面からも消し去るには

先の方法で管理バーを非表示にすることができますが、管理画面には設定項目が残っています。
ここにチェックを入れても表示されませんが、不要な項目なのでこちらも非表示にしてしまいます。

add_action('admin_print_styles-profile.php', 'disable_admin_bar_prefs');
function disable_admin_bar_prefs(){ ?>
  <style type="text/css">
    .show-admin-bar {display:none;}
  </style><?php
}

ちょっと強引な感じですが、表示されているメニューを display:none; で消してます。
こちらはよりいい方法が見つかれば、こちらの記事も修正したいと思います。

response

  1. やみろぐ。» Blog Archive » 在functions.php增設博客自訂代碼
    2012-01-07 23:50:54reply

    […] via:WordPress 3.1で追加された管理バーを非表示にする方法 ↑ 返回目錄 […]

  2. WordPress初心者の私が参考にした20記事 | みんつのブログ
    2012-08-02 09:31:57reply

    […] SEO Packで検索エンジン対策 SEO対策はとりあえず、これでOKみたいです。 ・WordPress 3.1で追加された管理バーを非表示にする方法 WordPressを見ていて管理バーが気になったので非表示にしました。 […]

  3. Wordpressの管理バーで管理者と投稿者以外をオフにする | 雄大スタジアム
    2015-09-29 16:53:28reply

    […] http://www.understandard.net/wordpress/wp021.htmlより引用。では、管理者と投稿者にだけ管理バーを表示させるにはどうしたらいいでしょうか。 […]

leave a reply

your email address will not be published.

you may use these HTML tags and attributes: <a href="" title=""> <em> <i> <strong> <blockquote cite=""> <q cite=""> <cite> <pre> <code> <del datetime=""> <ins datetime="">