URLをコピーしました!
スキルアップを始める!

【WordPress】ワードプレスにログインしている購読者ユーザーのAdminバー(管理バー)を非表示にする&管理画面に入れなくする方法

WordPress(ワードプレス)
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

例えば、ワードプレスで会員制サイトを作成しているときに、Adminバーが表示されていると、画面に表示されて邪魔になるだけでなく、ログインページのURLやワードプレスの管理画面へのリンクを開かれてしまい、ワードプレスの管理画面に入ることができてしまいます。

通常は/wp-login.phpまたは/wp-adminでログインページに遷移します。

公開権限が無いユーザーはadminバーを非表示にする

投稿ができないユーザーは「show_admin_bar」をfalseにして非表示にしてしまいます。

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

管理者ログイン

購読者ログイン

Adminバー(管理バー)が消えました!

管理画面からのログインを阻止する

もしログインページを開いてしまった場合は、管理者権限が無ければログインできないように設定ができます。

add_action( 'auth_redirect', 'contributor_redirect' ); 
function contributor_redirect( $user_id ) {
$user = get_userdata( $user_id );
if ( ! $user->has_cap( 'publish_posts' ) ) {
wp_redirect( home_url() );
echo 'こちらのアカウントではログインできません。';
exit();
}
}

ログインを試みようとすると、警告画面が出るようになりました。

そのまま無視して開こうとすると・・・

トップページにリダイレクトされて、管理画面へ入ることはできないようになります。

まとめ

これで、購読者が管理画面に入ることはできなくなりました。

とはいえ、このままだと購読者ユーザーでも「ログインページ」に入ることは可能です。

例えば、「ログインページ」そのものに入られたくない・・・という場合については、ログインページの前にベーシック認証(手前にポップアップ・IDとパスワードを入力する画面を表示させる)、ログインURLそのものを標準のURLから変更させる・・・などの対策が必要になるかと思います。

ご参考下さい😃

Kindle Unlimited 会員は無料で購読できます
購読はこちら
Kindle Unlimited 会員は無料で購読できます
購読はこちら