Home / Archive / MemberPress: Display User’s Course Progress in MemberPress Courses
Duplicate Snippet

Embed Snippet on Your Site

MemberPress: Display User’s Course Progress in MemberPress Courses

The code snippet registers a new shortcode: [mpcs_user_courses_progress]. Adding this shortcode will display all MemberPress courses on which the logged-in user matches the set condition. The condition is based on the percentage of progress the user made on each course.

The code sample below sets the condition to less than 100% progress. As a result, using the shortcode will display all courses the logged-in user didn’t complete - and has not yet reached 100% progress.

Code Preview
php
<?php
add_shortcode( 'mpcs_user_courses_progress', function() {
	$user_id = get_current_user_id();
		
	$courses = get_posts(array(
		'posts_per_page'  => -1,
		'post_type' => 'mpcs-course'
	));
	
	ob_start();
	
	echo '<ul>';
	
	foreach ( $courses as $course ) {	
		$course = new memberpress\courses\models\Course($course->ID);
		$progress = $course->user_progress($user_id);
		if ( $progress < 100 ) {
			echo  '<li>' . get_the_title($course->ID) . ': ' . esc_html($progress) . '%</li>';
		}
	}
	
	echo '</ul>';
    return ob_get_clean();
});

Comments

Add a Comment