「Peter’s Login Redirect」プラグインを使うと、ログインした際にダッシュボード以外のページへリダイレクトさせることができる。
ただ、ユーザごとにログイン先をちょっと変えたい(ユーザIDを入れたりしたい)ときにうまくできなかったので、ちょこっとだけカスタマイズしてみた。

コード

437行目周辺、「redirect_wrapper」関数にちょっとだけ追記するんじゃ。
※ソースコードはVersion: 2.9.1のものを使用。


function redirect_wrapper( $redirect_to, $requested_redirect_to, $user )
{
$rul_local_only = rulRedirectFunctionCollection::get_settings( 'rul_local_only' );
$rul_allow_post_redirect_override = rulRedirectFunctionCollection::get_settings( 'rul_allow_post_redirect_override' );

// If they're on the login page, don't do anything
if( !isset( $user->user_login ) )
{
return $redirect_to;
}

if( ( admin_url() == $redirect_to && $rul_allow_post_redirect_override ) || !$rul_allow_post_redirect_override )
{
$rul_url = redirect_to_front_page( $redirect_to, $requested_redirect_to, $user );

// 追加ここから =====================================================
// URLを個別ユーザごとにカスタマイズ
$rul_url = preg_replace("/@user/",$user->user_login,$rul_url);
// 追加ここまで =====================================================

if( $rul_url )
{
if( 1 == $rul_local_only )
{
rulRedirectFunctionCollection::rul_trigger_allowed_host( $rul_url );
return $rul_url;
}
elseif( 2 == $rul_local_only )
{
wp_redirect( $rul_url );
die();
}
else
{
return $rul_url;
}
}
}
return $redirect_to;
}

設定手順

設定→Login / Logout Redirectorから、下記画像のように設定するだけ。

スクリーンショット 2017-08-23 21.47.03

@user の部分がログインしたユーザ名に置き換えられる。