WordPress 普通用户登录后转到指定页面

Anson 杂记 63 次浏览 抢沙发

记录个简单 WordPress 功能需求,希望除管理员外,其它帐号登录后转到一个指定页面。

实现方法:将下面代码放入主题 functions.php 文件即可。

/**
 * 普通用户登录重定向到指定页面
 */
function theme_login_redirect( $url, $request, $user ){
    if( $user && is_object( $user ) && is_a( $user, 'WP_User' ) ) {
        if( $user->has_cap( 'administrator' ) ) {
            $url = admin_url();
        } else {
            $url = home_url('/custom-page/');
        }
    }
    return $url;
}
add_filter('login_redirect', 'theme_login_redirect', 10, 3 );

如果希望对普通用户隐藏顶部工具栏,继续添加下面代码。

/**
 * 仅对管理员显示工具栏
 */
if ( ! current_user_can( 'manage_options' ) ) {
    show_admin_bar( false );
}

发表评论

电邮地址用于 Gravatar 头像显示,不会被公开可见。