Auto Redirect after login

时间:2013-05-26 作者:Ghinnersmee

在多站点中,此代码将用户(作者)重定向到/wp admin/post new。登录后的php。。。。但也重定向了我(超级管理员)如何防止这种情况?

function primary_login_redirect( $redirect_to, $request_redirect_to, $user )
{
    if ($user->ID != 0) {
        $user_info = get_userdata($user->ID);
        if ($user_info->primary_blog) {
            $primary_url = get_blogaddress_by_id($user_info->primary_blog) . \'wp-admin/post-new.php\';
            if ($primary_url) {
                wp_redirect($primary_url);
                die();
            }
        }
    }
    return $redirect_to;
} 
add_filter(\'login_redirect\',\'primary_login_redirect\', 100, 3);

1 个回复
最合适的回答,由SO网友:DrewAPicture 整理而成

您可以测试is_super_admin(). 我的测试工作如下:

function primary_login_redirect( $redirect_to, $request_redirect_to, $user ) {
    if ( is_a( $user, \'WP_User\' ) && ! is_super_admin( $user->ID ) ) {
        if ( $user_info->primary_blog ) {
        $user_info = get_userdata( $user->ID );
            $primary_url = get_blogaddress_by_id( $user_info->primary_blog ) . \'wp-admin/post-new.php\';
            if ( $primary_url ) {
                wp_redirect( $primary_url );
                die();
            }
        }
    }
    return $redirect_to;
} 
add_filter( \'login_redirect\', \'primary_login_redirect\', 100, 3 );
Theis_a() check清除了我注销时收到的一些通知。

编辑:如果您只想为超级管理员创建一个不同的重定向URL,我会将其重组为如下内容:

function primary_login_redirect( $redirect_to, $request_redirect_to, $user ) {
    if ( is_a( $user, \'WP_User\' ) ) {
        if ( ! is_super_admin( $user->ID ) ) {
            $user_info = get_userdata( $user->ID );
            if ( $user_info->primary_blog )
                $primary_url = get_blogaddress_by_id( $user_info->primary_blog ) . \'wp-admin/post-new.php\';
        } else { // super admins
            $primary_url = network_admin_url( \'sites.php\' );
        }
        if ( $primary_url ) {
            wp_redirect( $primary_url );
            die();
        }
    }
    return $redirect_to;
} 
add_filter( \'login_redirect\', \'primary_login_redirect\', 100, 3 );

结束

相关推荐

Database create or redirect

我在ABC网站工作。com,我只能访问根文件夹。我计划安装wordpress。我需要以某种方式创建一个没有任何cPanel的数据库。或者,我想到的第二个选择是,如果我可以在服务器A中安装wordpress,在那里我只能访问根文件夹,并使用另一台服务器B中的数据库,我可以通过cPanel完全控制该数据库。我已经在服务器B上创建了一个数据库。但是如何设置它(可能通过wp config.php),以便可以通过域访问它。第三种选择是,如果我可以在服务器B上创建一个站点(DEF.com),那么服务器a上的站点域(A