From 872c287896323f395b2ddc3f12f86264ed52b0b7 Mon Sep 17 00:00:00 2001 From: Sainath Poojary Date: Fri, 8 Aug 2025 15:33:57 +0530 Subject: [PATCH 1/3] Users: Preserve entered values on Network Add User form after validation errors --- src/wp-admin/network/user-new.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/wp-admin/network/user-new.php b/src/wp-admin/network/user-new.php index 0f7eba1c2d650..0a1402955ae5a 100644 --- a/src/wp-admin/network/user-new.php +++ b/src/wp-admin/network/user-new.php @@ -77,6 +77,15 @@ } } +$username = ''; +$email = ''; +if ( isset( $_REQUEST['action'] ) && 'add-user' === $_REQUEST['action'] && ! empty( $add_user_errors ) && is_wp_error( $add_user_errors ) ) { + if ( isset( $_POST['user'] ) && is_array( $_POST['user'] ) ) { + $username = isset( $_POST['user']['username'] ) ? wp_unslash( $_POST['user']['username'] ) : ''; + $email = isset( $_POST['user']['email'] ) ? wp_unslash( $_POST['user']['email'] ) : ''; + } +} + $message = ''; if ( isset( $_GET['update'] ) ) { if ( 'added' === $_GET['update'] ) { @@ -139,11 +148,11 @@ - + - + From aeeeca5a755025fa6a27cd339430d61832d136e5 Mon Sep 17 00:00:00 2001 From: Sainath Poojary Date: Mon, 11 Aug 2025 20:28:31 +0530 Subject: [PATCH 2/3] Users: Preserve entered values on Add Existing User form after validation errors --- src/wp-admin/user-new.php | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/src/wp-admin/user-new.php b/src/wp-admin/user-new.php index cdc1dfef1e8d9..e343b33e3b5aa 100644 --- a/src/wp-admin/user-new.php +++ b/src/wp-admin/user-new.php @@ -33,7 +33,14 @@ check_admin_referer( 'add-user', '_wpnonce_add-user' ); $user_details = null; - $user_email = wp_unslash( $_REQUEST['email'] ); + $redirect_args = array(); + foreach ( array( 'email', 'role', 'noconfirmation' ) as $redirect_arg ) { + if ( isset( $_REQUEST[ $redirect_arg ] ) ) { + $redirect_args[ $redirect_arg ] = $_REQUEST[ $redirect_arg ]; + } + } + + $user_email = wp_unslash( $_REQUEST['email'] ); if ( str_contains( $user_email, '@' ) ) { $user_details = get_user_by( 'email', $user_email ); @@ -41,13 +48,15 @@ if ( current_user_can( 'manage_network_users' ) ) { $user_details = get_user_by( 'login', $user_email ); } else { - wp_redirect( add_query_arg( array( 'update' => 'enter_email' ), 'user-new.php' ) ); + $redirect_args['update'] = 'enter_email'; + wp_redirect( add_query_arg( $redirect_args, 'user-new.php' ) ); die(); } } if ( ! $user_details ) { - wp_redirect( add_query_arg( array( 'update' => 'does_not_exist' ), 'user-new.php' ) ); + $redirect_args['update'] = 'does_not_exist'; + wp_redirect( add_query_arg( $redirect_args, 'user-new.php' ) ); die(); } @@ -469,15 +478,26 @@ + - + @@ -485,7 +505,7 @@ From d5a257957e3bfb1b4a94d10b53fe6437dc62783b Mon Sep 17 00:00:00 2001 From: Sainath Poojary Date: Tue, 12 Aug 2025 19:47:48 +0530 Subject: [PATCH 3/3] Users: Fix formatting inconsistencies --- src/wp-admin/user-new.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/wp-admin/user-new.php b/src/wp-admin/user-new.php index e343b33e3b5aa..a606706420c2e 100644 --- a/src/wp-admin/user-new.php +++ b/src/wp-admin/user-new.php @@ -32,7 +32,7 @@ if ( isset( $_REQUEST['action'] ) && 'adduser' === $_REQUEST['action'] ) { check_admin_referer( 'add-user', '_wpnonce_add-user' ); - $user_details = null; + $user_details = null; $redirect_args = array(); foreach ( array( 'email', 'role', 'noconfirmation' ) as $redirect_arg ) { if ( isset( $_REQUEST[ $redirect_arg ] ) ) { @@ -478,14 +478,14 @@ - +