LLMS_Student::get_progress( int $object_id, string $type = 'course', boolean $use_cache = true )
Get students progress through a course or track
Parameters Parameters
- $object_id
-
(int) (Required) course or track id
- $type
-
(string) (Optional) object type [course|course_track|section]
Default value: 'course'
- $use_cache
-
(boolean) (Optional) if true, will use cached data from the usermeta table (if available) if false, will bypass cached data and recalculate the progress from scratch
Default value: true
Return Return
(float)
Source Source
File: includes/models/model.llms.student.php
$orders = array(); if ( $q->have_posts() ) { foreach ( $q->posts as $post ) { $orders[ $post->ID ] = new LLMS_Order( $post ); } } return array( 'count' => count( $q->posts ), 'page' => $page, 'pages' => $q->max_num_pages, 'orders' => $orders, ); } /** * Get students progress through a course or track * * @param int $object_id course or track id * @param string $type object type [course|course_track|section] * @param boolean $use_cache if true, will use cached data from the usermeta table (if available) * if false, will bypass cached data and recalculate the progress from scratch * @return float * @since 3.0.0 * @version 3.24.0 */ public function get_progress( $object_id, $type = 'course', $use_cache = true ) { $ret = 0; $cache_key = sprintf( '%1$s_%2$d_progress', $type, $object_id ); $cached = $use_cache ? $this->get( $cache_key ) : ''; if ( '' === $cached ) { $total = 0; $completed = 0; if ( 'course' === $type ) { $course = new LLMS_Course( $object_id ); $lessons = $course->get_lessons( 'ids' ); $total = count( $lessons ); foreach ( $lessons as $lesson ) { if ( $this->is_complete( $lesson, 'lesson' ) ) { $completed++; } } } elseif ( 'course_track' === $type ) { $track = new LLMS_Track( $object_id ); $courses = $track->get_courses(); $total = count( $courses ); foreach ( $courses as $course ) { if ( $this->is_complete( $course->ID, 'course' ) ) { $completed++; } } } elseif ( 'section' === $type ) {
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
3.0.0 | Introduced. |