From ed6bef8df2f02d7d2eba54a49c73f19e7a87730a Mon Sep 17 00:00:00 2001 From: Nicolas Lemoine Date: Sat, 23 Sep 2023 15:41:51 +0200 Subject: [PATCH 1/2] Remove required field on guest author add --- inc/admin.php | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/inc/admin.php b/inc/admin.php index 8971699..e4aca6b 100644 --- a/inc/admin.php +++ b/inc/admin.php @@ -43,13 +43,26 @@ function remove_required_fields_errors( WP_Error $errors, bool $update, stdClass return; } - $error_codes = $errors->get_error_codes(); - $error_codes_to_remove = [ 'empty_email', 'nickname' ]; - $current_codes = array_intersect( $error_codes, $error_codes_to_remove ); + $current_error_codes = $errors->get_error_codes(); + $removed_error_codes = [ 'empty_email' ]; + if ( $update ) { + // Remove those errors on update + array_push( $removed_error_codes, 'nickname' ); + } else { + // Remove those errors on add + array_push( $removed_error_codes, 'pass' ); + } - foreach ( $current_codes as $code ) { + // Remove matched errors + $codes = array_intersect( $current_error_codes, $removed_error_codes ); + foreach ( $codes as $code ) { $errors->remove( $code ); } + + // Provide a random password for the user (JS disabled) + if ( empty( $user->user_pass ) && in_array( 'pass', $codes, true ) ) { + $user->user_pass = wp_generate_password(); + } } /** From 2576624b9943d87aae36ad9f95db0447837deed6 Mon Sep 17 00:00:00 2001 From: Nicolas Lemoine Date: Sat, 23 Sep 2023 15:44:39 +0200 Subject: [PATCH 2/2] Fix coding standards --- inc/admin.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/inc/admin.php b/inc/admin.php index e4aca6b..0ff125a 100644 --- a/inc/admin.php +++ b/inc/admin.php @@ -46,20 +46,20 @@ function remove_required_fields_errors( WP_Error $errors, bool $update, stdClass $current_error_codes = $errors->get_error_codes(); $removed_error_codes = [ 'empty_email' ]; if ( $update ) { - // Remove those errors on update + // Remove those errors on update. array_push( $removed_error_codes, 'nickname' ); } else { - // Remove those errors on add + // Remove those errors on add. array_push( $removed_error_codes, 'pass' ); } - // Remove matched errors + // Remove matched errors. $codes = array_intersect( $current_error_codes, $removed_error_codes ); foreach ( $codes as $code ) { $errors->remove( $code ); } - // Provide a random password for the user (JS disabled) + // Provide a random password for the user (JS disabled). if ( empty( $user->user_pass ) && in_array( 'pass', $codes, true ) ) { $user->user_pass = wp_generate_password(); }