diff --git a/includes/admin/core/class-admin-settings.php b/includes/admin/core/class-admin-settings.php index 7c51275d..bdef709a 100644 --- a/includes/admin/core/class-admin-settings.php +++ b/includes/admin/core/class-admin-settings.php @@ -753,6 +753,9 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) { 'use_um_gravatar_default_image' => array( 'sanitize' => 'bool', ), + 'admin_ignore_user_status' => array( + 'sanitize' => 'bool', + ), 'delete_comments' => array( 'sanitize' => 'bool', ), @@ -1182,6 +1185,13 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) { 'description' => __( 'Do you want to use the plugin default avatar instead of the gravatar default photo (If the user did not upload a custom profile photo/avatar).', 'ultimate-member' ), 'conditional' => array( 'use_um_gravatar_default_builtin_image', '=', 'default' ), ), + array( + 'id' => 'admin_ignore_user_status', + 'type' => 'checkbox', + 'label' => __( 'Ignore the "User Role > Registration Options"', 'ultimate-member' ), + 'checkbox_label' => __( 'Automatically approve users from the wp-admin dashboard', 'ultimate-member' ), + 'description' => __( 'Ignore registration settings and automatically approve the user if this user is added from the wp-admin dashboard.', 'ultimate-member' ), + ), array( 'id' => 'delete_comments', 'type' => 'checkbox', diff --git a/includes/class-config.php b/includes/class-config.php index d7fa2aea..f77a229f 100644 --- a/includes/class-config.php +++ b/includes/class-config.php @@ -658,6 +658,7 @@ if ( ! class_exists( 'um\Config' ) ) { 'use_gravatars' => false, 'use_um_gravatar_default_builtin_image' => 'default', 'use_um_gravatar_default_image' => false, + 'admin_ignore_user_status' => false, 'toggle_password' => false, 'require_strongpass' => false, 'password_min_chars' => 8, diff --git a/includes/core/um-actions-register.php b/includes/core/um-actions-register.php index 0516d902..29a73e1a 100644 --- a/includes/core/um-actions-register.php +++ b/includes/core/um-actions-register.php @@ -113,6 +113,11 @@ add_action( 'um_user_register', 'um_after_insert_user', 1, 3 ); * @param $user_id */ function um_send_registration_notification( $user_id ) { + if ( is_admin() ) { + // Don't send email notifications to administrators about new user registration, because the user was created from wp-admin. + return; + } + um_fetch_user( $user_id ); $registration_status = um_user( 'status' ); @@ -137,7 +142,12 @@ add_action( 'um_registration_complete', 'um_send_registration_notification' ); * @param null|array $form_data */ function um_check_user_status( $user_id, $args, $form_data = null ) { - $registration_status = um_user( 'status' ); + if ( ( is_null( $form_data ) || is_admin() ) && UM()->options()->get( 'admin_ignore_user_status' ) ) { + $registration_status = 'approved'; + } else { + $registration_status = um_user( 'status' ); + } + /** * Fires after complete UM user registration. * Where $status can be equal to 'approved', 'checkmail' or 'pending'. @@ -172,6 +182,7 @@ function um_check_user_status( $user_id, $args, $form_data = null ) { if ( is_null( $form_data ) || is_admin() ) { return; } + // Code below is running only for registration from the frontend forms. /** * Fires after complete UM user registration. Only for the frontend action which is run before autologin and redirects.