So, I got it working again. Steps to fix:
1 - Remove the
custom_reg_fields array in the
ws_plugin__s2member_options record in wp_options table. This allows the Add New Field link to appear in the General Options screen.
2 - Create all the custom registration fields in the General Options screen making sure to use the
exact same values for the Unique ID field that were used in the previous array.
Steps 1 & 2 may not correct all custom fields though. The prior version allowed a much longer unique id string than the new version. The old unique id's that are too long need to be shortened. This causes a disparity between the
custom_reg_fields definition and the data store for each user in the
wp_usermeta table's
wp_s2member_custom_fields value. The disparity prevents shortened unique id data to not be displayed in the admin Users screen.
Fixing this requires an easy update to the database. You run a query like the one below to replace the old field names to the shortened ones on each user.
It is important you update the length of each field correctly or your array will be out of alignment and no data will display for the user in the Users admin panel. The field name length is the
s:xx value, the
xx must be correct for the new id.
- Code: Select all
UPDATE wp_usermeta
SET meta_value = replace(meta_value, 's:52:"my_super_duper_extra_long_field_id_that_will_not_fit"', 's:11:"my_short_id"')
FROM wp_usermeta
WHERE meta_key = 'wp_s2member_custom_fields';