将WP中的自定义角色重定向到不同的位置

时间:2016-11-14 18:48:15

标签: php wordpress authentication custom-wordpress-pages

我尝试了很多东西。以下是我目前在我的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')
    ;
?>

0 个答案:

没有答案