会員制のWebシステムや、閲覧だけのユーザーを作りたい時に使います。
まず、管理者はそのままダッシュボードにページ遷移し、購読者ならダッシュボードを表示せずにトップページを表示させるには、function.phpでwp_loginのアクションフックを使います。
add_action('wp_login', 'redirect_page', 10, 2);add_action('wp_login', 'redirect_page', 10, 2);
function redirect_page($user_login, $user){$user_role = $user->roles[0];
if( $user_role != 'administrator' ){//管理者でなければ
if( $user_role == 'subscriber' ){//購読者であれば
wp_redirect( home_url() );
exit();
}
}
}
まず
$user_role = $user->roles[0];
でログインするユーザーの権限を取得しています。
WordPressの権限グループ化下記のような表になります。
権限グループ(日本語) | 権限グループ(英語) | 概要 |
---|---|---|
購読者 | Subscriber | WordPressにログインすることが可能。 |
寄稿者 | Contributor | レビュー待ちの投稿を作成することができる。レビュー待ちになった投稿の公開は、編集者以上の権限グループのユーザーが行う。 |
投稿者 | Author | 投稿を行うことはできるが、固定ページや他のユーザーが作成した投稿を扱うことはできない。 |
編集者 | Editor | 投稿や固定ページ、カテゴリーなどを、他の人が作成した投稿を含めて扱うことができる。テーマやプラグイン、ユーザー、サイト設定を扱うことはできない。 |
管理者 | Administrator | トップレベルの権限グループで、すべての権限を持つ |
administratorであれば無視し、subscriberであれば転送します。
この部分を任意に変更して使ってみてください。
subscriberはログインすると管理画面の行かずトップページに移動します。