用户登陆后的UI优化

分类:图标设计 54 次浏览 0 2018-5-18

之前写了一篇文章,介绍的是如何优化wordpress默认登陆界面的UI,现在我们就来侃侃wordpress登陆后的那些事。大家都知道的wordpress不管任何用户只要在登陆后都会转跳到后台管理界面/wp-admin/这个页面,对于普通的用户来说这是非常糟糕的,因为默认的管理界面什么内容也没有,那么我们怎么来控制wordpress登陆后所转跳的页面呢?其实wordpress强大的hook就可以做到这点,仅仅需要在functions.php中写入几行代码而已。

function my_login_redirect( $redirect_to, $request, $user ){
    //验证用户
    if( is_array( $user->roles ) ) {
       //验证超级管理员
       if( in_array( "administrator", $user->roles)){
           // 如果的超级管理员则返回后台管理主页
           return home_url( '/wp-admin/' );
       } else {
           //否则跳转以网站首页
           return home_url();
       }
    }
}
add_filter("login_redirect", "my_login_redirect", 10, 3);

虽然这样可以把登陆后的用户转跳到网站首页但是这些用户通过链接仍然访问到网站后台的管理页面,我们可以对后台做一个访问锁定,只允许管理员访问网站管理界面。

/********锁定后台****/
function redirect_user_login() {
    global $current_user,$pagenow;
    get_currentuserinfo();
    $valid_pages = array('admin-ajax.php', 'async-upload.php', 'media-upload.php');
    if( !current_user_can('administrator') && !in_array( $pagenow, $valid_pages ) ){
        wp_redirect( v7v3_my_account_link() ); exit;
    }
}
add_action('admin_init','redirect_user_login');

这样就可以限制非管理员用户对后台的访问了。