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 );