我尝试了很多东西。以下是我目前在我的functions.php及以下内容中的内容,这是我添加到名为dashboard-login.php的自定义登录页面的内容。
我做了一个名为employee
的自定义角色
员工的所有权限都已设置为false
基本上,如果我的管理员角色登录,我希望它转到/wp-admin
,如果员工登录,我希望在拒绝时转到/dashboard
它可以访问/wp-admin
并将自身重定向回/dashboard
。
function my_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( 'employee', $user->roles ) ) {
// redirect them to the default place
return '/dashboard';
} else {
return home_url("/dashboard");
}
} else {
return $redirect_to;
}
}
add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );
如果我删除了此功能,我还添加了该功能,当我需要它转到/dashboard
时,它会将管理员发送到/wp-admin
。
function admin_default_page() {
return home_url( '/admin' );
}
add_filter('login_redirect', 'admin_default_page');
登录页面
<?php
$args = array(
'redirect' => home_URL("/dashboard"),
'id_username' => 'user',
'id_password' => 'pass')
;
?>