Hi Natalie.
As you can see in the code I′ve paste for you between lines 191 and 203:
$user_diseases = array(
'columns' => 4,
'id' => 'osaki_user_diseases',
'classes' => 'osaki-input osaki-select has-multiple',
'label' => __('Diseases', 'almazen'),
'last_column' => false,
'required' => false,
'options' => $user_diseases_options,
'type' => 'select',
'multiple' => true,
'default' => '',
);
array_push($fields, $user_diseases);
This is a code in PHP that render a multiple select using your lifterlms_get_person_fields filter. Please re-check the code.
Theese lines creates something like this:
<select class="llms-field-select osaki-input osaki-select has-multiple" id="osaki_user_diseases" name="osaki_user_diseases" style="display: none;" multiple="multiple"><option value="dont_specify">No quiero especificar mis enfermedades</option><option value="arthritis">Artritis</option><option value="chronic_patient_caregiver">Cuidador de paciente crónico</option><option value="aids">VIH/SIDA</option><option value="type_1_diabetes">Diabetes tipo 1</option><option value="type_2_diabetes">Diabetes tipo 2</option><option value="cancer_survivor">Superviviente de cáncer</option><option value="chron_disease">Enfermedad de Crohn</option><option value="ulcerous_colitis">Colitis Ulcerosa</option></select>
The select works nice when selecting multiple options but when the date is sent via POST it saves only one option in database. I believe there is a problem with your management of POST data created by a multiple select. Instead of saving an array of values your proccess saves only one string value.
Thanks in advance Natalie.