I can confirm this problem is a bug in the plugin. In: um-actions-account.php
if ( $_POST['user_password'] && $_POST['confirm_user_password'] ) {
$changes['user_pass'] = $_POST['user_password'];
add_filter('send_password_change_email','um_send_password_change_email');
}
$arr_fields = array();
$secure_fields = get_user_meta( um_user('ID'), 'um_account_secure_fields', true );
if( isset( $secure_fields ) ){
foreach ( $secure_fields as $tab_key => $fields ) {
if( isset( $fields ) ){
foreach ($fields as $key => $value) {
$arr_fields[ ] = $key;
}
}
}
}
$changes = array();
The function detects a password change on line 12 and inserts that into the list of changes array $changes, however line 30:
$changes = array();
Re-initializes $changes and therefore removes the password update. If I move
$changes = array();
to BEFORE the password change detection, it works fine.
Obviously not a good fix because an update of the plugin would invalidate the edit so don’t edit your core plugin files to get it working. Should be fixed by the author ASAP!