Add following code in Child theme – functions.php
`
add_filter('bp_get_course_check_course_complete_stop',function($flag,$course_id,$user_id){
//Check for unit completion
$course_curriculum=bp_course_get_curriculum_units($id);
if(isset($course_curriculum) && count($course_curriculum)){
$flag =0;
foreach($course_curriculum as $unit_id){
//if(is_numeric($unit_id)){
$unittaken = bp_course_check_unit_complete($unit_id,$user_id,$id);
if(empty($unittaken) && bp_course_get_post_type($unit_id) == 'quiz'){
$unittaken=get_user_meta($user_id,$unit_id,true);
}
if(!isset($unittaken) || !$unittaken){
$flag=$unit_id;
break;
}
//}
}
$flag = apply_filters('wplms_finish_course_check',$flag,$course_curriculum);
if($flag){
$type=bp_course_get_post_type($flag);
switch($type){
case 'unit':
$type= __('UNIT','vibe');
break;
case 'assignment':
$type= __('ASSIGNMENT','vibe');
break;
case 'quiz':
$type= __('QUIZ','vibe');
break;
}//Default for other customized options
$message = __('PLEASE COMPLETE THE ','vibe').$type.' : '.get_the_title($flag);
echo '<div class="message"><p>'.apply_filters('wplms_unfinished_unit_quiz_message',$message,$flag).'</p></div>';
return 1;
}
}
$args = array(
'user_id' => $user_id,
'number' => 1, // how many comments to retrieve
'post_id' =>$course_id
);
$comments = get_comments( $args );
if(!$comments){
echo '<div class="message">
Post a review to finish the course !
</div>';
?>
<div class="course_reviews">
<?php
comments_template('/course-review.php',true);
?>
</div>
<?php
return 1;
}
return $flag;
},10,3);
