0. Install WPLMS customiser plugin.
1. Go to WP Admin -> Plugins ->Editor -> Wplms customizer -> customizer_class.php
2. Add this code in __construct function :
Assuming the custom user field is Location :
3. Add this code in the class :
function add_custom_course_stat($list){
$list['user_field']= 'Location';
return $list;
}
function process_custom_course_stat(&$csv_title, &$csv,&$i,&$course_id,&$user_id,&$field){
if($field != 'user_field') // Ensures the field was checked.
return;
$title=__('Location','vibe');
if(!in_array($title,$csv_title))
$csv_title[$i]=$title;
$ifield = 'Location';
if(bp_is_active('xprofile'))
$field_val= bp_get_profile_field_data( 'field='.$ifield.'&user_id=' .$user_id );
if(isset($field_val) && $field_val)
$csv[$i][]= $field_val;
else
$csv[$i][]= 'N.A';
}
For adding multiple fields:
function add_custom_course_stat($list){
$new_list = array(
'user_field1'=>'Location',
'user_field2'=>'Bio'
//add another element like same above 'user_field3'=>'Gender'
);
$list=array_merge($list,$new_list);
return $list;
}
function process_custom_course_stat(&$csv_title, &$csv,&$i,&$course_id,&$user_id,&$field){
if( strpos($field, 'user_field1') === false && strpos($field, 'user_field2') === false)//if another field please include it here like this if( strpos($field, 'user_field1') === false && strpos($field, 'user_field2') === false && strpos($field, 'user_field3') === false)
return;
if($field == 'user_field1'){
$title=__('Location','vibe');
if(!in_array($title,$csv_title))
$csv_title[$i]=$title;
$ifield = 'Location';
if(bp_is_active('xprofile'))
$field_val= bp_get_profile_field_data( 'field='.$ifield.'&user_id=' .$user_id );
if(isset($field_val) && $field_val)
$csv[$i][]= $field_val;
else
$csv[$i][]= 'N.A';
return;
}
if($field == 'user_field2'){
$title=__('Bio','vibe');
if(!in_array($title,$csv_title))
$csv_title[$i]=$title;
$ifield = 'Bio';
if(bp_is_active('xprofile'))
$field_val= bp_get_profile_field_data( 'field='.$ifield.'&user_id=' .$user_id );
if(isset($field_val) && $field_val)
$csv[$i][]= $field_val;
else
$csv[$i][]= 'N.A';
return;
}
//add process doe another field like :
/*
if($field == 'user_field3'){
$title=__('Gender','vibe');
if(!in_array($title,$csv_title))
$csv_title[$i]=$title;
$ifield = 'Gender';
if(bp_is_active('xprofile'))
$field_val= bp_get_profile_field_data( 'field='.$ifield.'&user_id=' .$user_id );
if(isset($field_val) && $field_val)
$csv[$i][]= $field_val;
else
$csv[$i][]= 'N.A';
return;
}
*/
}
Github gist : https://gist.github.com/MrVibe/c0ea6131147072b61dfa
