From 5fa9b23233fcf5cff49e844c4fe17a8b45c3f7ff Mon Sep 17 00:00:00 2001 From: Mykyta Synelnikov Date: Sun, 2 Jul 2023 21:21:50 +0300 Subject: [PATCH] - fixed registration with empty role field (set default if empty); --- includes/core/class-form.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/includes/core/class-form.php b/includes/core/class-form.php index 14c88f4f..5a117136 100644 --- a/includes/core/class-form.php +++ b/includes/core/class-form.php @@ -590,7 +590,7 @@ if ( ! class_exists( 'um\core\Form' ) ) { unset( $this->post_form['role'] ); } else { $custom_field_roles = $this->custom_field_roles( $this->form_data['custom_fields'] ); - if ( ! empty( $custom_field_roles ) ) { + if ( ! empty( $custom_field_roles ) && ! empty( $this->post_form['role'] ) ) { if ( is_array( $this->post_form['role'] ) ) { $role = current( $this->post_form['role'] ); $role = sanitize_key( $role ); @@ -965,9 +965,10 @@ if ( ! class_exists( 'um\core\Form' ) ) { if ( strstr( $field_key, 'role_' ) && array_key_exists( 'options', $field_settings ) && is_array( $field_settings['options'] ) ) { - if ( isset( $this->post_form['mode'] ) && 'profile' === $this->post_form['mode'] && - isset( $field_settings['editable'] ) && $field_settings['editable'] == 0 ) { - continue; + if ( isset( $this->post_form['mode'] ) && 'profile' === $this->post_form['mode'] ) { + if ( empty( $field_settings['editable'] ) || ! um_can_edit_field( $field_settings ) ) { + continue; + } } if ( ! um_can_view_field( $field_settings ) ) {