【wordpress】購読者がログインした時のadmin bar(メニューバー)を非表示にする方法

最終更新日

購読者がログインした時のメニューバーを非表示にする

会員制のサイトなどを制作しているとよくあるのですが、管理者であれば画面上のメニューバーが表示されるのですが、(こういうのです↓)

これがデフォルトの状態であれば購読者にも表示がされてしまうので、これは見た目や機能の面でも非表示にしたいところですね。

 

購読者のみメニューバーを非表示にする方法

方法は結構シンプルです。

function.phpにこちらを追記します。


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

書き方はいろいろあるのですが、今回はこちらの方法をご紹介します。

簡単に意味を解説すると、管理者ユーザーでの場合はアドミンバーを表示します。

それ以外は、アドミンバーを非表示にします。

という意味のコードになっています。

2行目の部分はif分の短縮ですね。

 

ユーザーの種類別でアクションを分ける

上で書いた

return ( current_user_can("administrator") ) ? $content : false;

この部分ですが、current_user_can(“”)でユーザーを指定しています。

この場合、管理者(“administrator”)であれば、という意味になっています。

この括弧内をそれぞれ、(購読者)subscriber、編集者(editor)に種類を書き換えるとそれぞれの役割毎でアクションを変化させることが可能です。

 

show_admin_barでバーの表示を切り替える

最後にshow_admin_bar()でバーの表示、非表示を切り替えることができます。

show_admin_bar(false)であれば、バーを非表示にすることができます。

上で管理者以外のユーザーが条件に当てはまり適用されます。

 

show_admin_bar(true)で表示になります。

 

まとめ 購読者がログインした時のメニューバーを非表示にする方法

いかがでしたでしょうか。少し細かく説明しましたが、ユーザーの種類、分け方、またアドミンバーの表示方法(show_admin_bar)がわかれば、方法はいたってシンプルです。

 

この書き方が理解できれば、色々な条件でのアクションに適用できるので、もし初めて見るという方はぜひこれを機に活用して行って頂ければと思います。

 

sasurai

旅と写真を愛する人。 web制作の仕事をしています。 写真も撮ります。お仕事のお問い合わせはお気軽に。

シェアする

Translate »