您可以测试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 );
The
is_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 );