ワードプレス ログイン後に任意のユーザーの権限のみお好きなページにリダイレクトさせるPHPコードをご紹介します。


ワードプレスのログイン後のリダイレクトURL

テーマのFucntions.php もしくは制作中のプラグインに下記のコードを追記します。

function my_login_redirect( $redirect_to, $request, $user ){
    
    if ( isset( $user->roles )) {
       if ( in_array( 'リダイレクトさせたいユーザー権限', $user->roles ) ) {
            return "http://リダイレクトしたいurl";
       }
    }
    return $redirect_to;
}
add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );

リダイレクトさせたいユーザー権限の部分は下記の5つのいずれかになります。

・administrator 管理者
・editor 編集者
・author 投稿者
・contributor 寄稿者
・subscriber 購読者

http://リダイレクトしたいurl は任意のリダイレクト先urlを指定してください。

ワードプレスのフィルタ関数を利用

add_filter( ‘login_redirect’, ‘my_login_redirect’, 10, 3 );

の部分は、ワードプレスのフィルタ関数と言い、ワードプレスが処理を行う前に、その処理に使用される様々な変数を割り込んで書き換えることができるワードプレスの特殊なプログラム側の機能です。

この場合 login_redirect というログイン後にリダイレクトするurlに割り込んでmy_login_redirectの独自関数の中で任意の条件で書き換えます。

add_filter の 10、3 の部分は 10番目の優先度で、3つの利用可能な値をmy_login_redirectの独自関数にワードプレスから渡して下さいという意味になります。
この場合、
$redirect_to → リダイレクト先url(書き換え対象)
$request → urlのパラメータ
$user → ログインしたユーザー(権限で振り分け)

の三つを受け取って処理に利用しています。

WordPress ワードプレスのテーマやプラグインの作製・カスタマイズのご依頼・ご相談はWPドクターまでお気軽にお送りください