function.phpに追記する。下記内容を追記したら、購読者ロールのユーザーはダッシュボードに入れなくなる。
add_action('wp_login', 'redirect_roll', 10, 2);
function redirect_roll($user_login, $user){
if( $user->roles[0] == 'subscriber' ){ // 権限を設定
wp_redirect( '/' );
exit();
}
}
なお、WPの権限は以下の通り。権限の設定部分を以下のスラッグを登録すると、そのロールはダッシュボードに入れない。
特権管理者 – サイトネットワーク管理機能や他のすべての機能へアクセスできるユーザー。
管理者 (administrator) – シングルサイト内のすべての管理機能にアクセスできるユーザー。
編集者 (editor) – 他のユーザーの投稿を含むすべての投稿を公開、管理できるユーザー。
投稿者 (author) – 自身の投稿を公開、管理できるユーザー。
寄稿者 (contributor) – 自身の投稿を編集・管理できるが、公開はできないユーザー。
購読者 (subscriber) – プロフィール管理のみを実行できるユーザー。
逆のパターンは以下の通り。管理者権限以外のユーザーはログアウト時にリダイレクトする。
/**
* 管理者権限以外のユーザーはログアウト時にリダイレクト.
*/
function logout_redirect() {
if ( ! current_user_can( 'administrator' ) && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) {
wp_safe_redirect( home_url(), 301 );
exit;
}
}
add_action( 'wp_logout', 'logout_redirect', 10, 2 );