WordPress:登录时发送到页面列表而不是仪表板


Wordpress: On login send to pages list rather than dashboard

是否有一个功能可以让您在登录后更改重定向到的位置?

我正在登录标准的Wordpress登录表单,该表单会将您重定向到仪表板,有没有办法更改它,以便您将重定向到页面列表?

重要的是,我不是在编辑核心WP文件(虽然很容易,但它是自找麻烦!)并通过功能执行此操作。

这不是任何类型的前端登录,它只是后端将标准WP登录屏幕从仪表板重定向到页面列表 - wp-admin/edit.php?post_type=page(因为我不喜欢仪表板上显示的信息)。

将其添加到您的主题函数中.php:

function my_login_redirect( $redirect_to, $request, $user ){
    //is there a user to check?
    global $user;
    if( isset( $user->roles ) && is_array( $user->roles ) ) {
        //check for admins
        if( in_array( "administrator", $user->roles ) ) {
            // redirect them to the default place
            return home_url(); //admin redirect url
        } else {
            return admin_url( 'edit.php?post_type=page' ); //user redirect url
        }
    }
    else {
        return $redirect_to;
    }
}
add_filter("login_redirect", "my_login_redirect", 10, 3);

登录后,这会将用户重定向回主页。通过上述操作,您可以将管理员重定向到单独的位置(如果需要,还可以将仪表板)重定向到其他用户到您的自定义 URL。