我使用以下代码将用户登录时重定向到仪表板,而不是他们的个人资料。
它工作正常,但也会在出现以下情况时重定向到仪表板redirect_to= 在url中http://example.com/wp-login.php?redirect_to=
如果有redirect_to= 在url中重定向到附加的url而不是仪表板?
// Redirect to dashboard on login (instead of profile)
add_filter( \'login_redirect\', \'app_login_redirect\', 10, 3 );
function app_login_redirect( $redirect_to, $request, $user ) {
//is there a user to check?
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
//check for admins
if ( in_array( \'administrator\', $user->roles ) ) {
// redirect them to the default place
return $redirect_to;
} else {
return admin_url( \'index.php\' );
}
} else {
return $redirect_to;
}
}
最合适的回答,由SO网友:birgire 整理而成
第二个输入参数$request, 在您的app_login_redirect() 回调函数,从source:
isset( $_REQUEST[\'redirect_to\'] ) ? $_REQUEST[\'redirect_to\'] : \'\';
如果我理解正确,你可以检查它是否为空,如果你需要在你的逻辑部分中知道的话。