I recently worked with a user that had this issue and was able to track it down to a specific configuration. So, I suspect that each of you has the plugin set to have a user defined password at registration (i.e. you’ve added password field to the registration process)?
In that instance, there is a bug that will miss all the user meta fields that come in the loop of fields *after* the password (which most people will have at the beginning of their form).
The next release will have a fix for this. In the meantime, if you want to patch it yourself, it is the wpmem_admin_update function in wp-members-admin.php. The function is at line 154.
Change the beginning of the function from this:
$user_id = $_REQUEST['user_id'];
$wpmem_fields = get_option( 'wpmembers_fields' );
for ( $row = 0; $row < count( $wpmem_fields ); $row++ ) {
if( $wpmem_fields[$row][2] == 'password' ) { $chk_pass = true; }
if( $wpmem_fields[$row][6] == "n" && ! $chk_pass ) {
update_user_meta( $user_id, $wpmem_fields[$row][2], $_POST[$wpmem_fields[$row][2]] );
}
}
To this:
$user_id = $_REQUEST['user_id'];
$wpmem_fields = get_option( 'wpmembers_fields' );
for ( $row = 0; $row < count( $wpmem_fields ); $row++ ) {
if( $wpmem_fields[$row][6] == "n" && $wpmem_fields[$row][2] != 'password' ) {
update_user_meta( $user_id, $wpmem_fields[$row][2], $_POST[$wpmem_fields[$row][2]] );
}
}