Core::bp_ld_get_progress_course_percentage( $user_id, $course_id )
Description
Source
File: bp-integrations/learndash/core/Core.php
public function bp_ld_get_progress_course_percentage( $user_id, $course_id ) { if ( empty( $user_id ) ) { // $current_user = wp_get_current_user(); if ( is_user_logged_in() ) { $user_id = get_current_user_id(); } else { $user_id = 0; } } if ( empty( $course_id ) ) { $course_id = learndash_get_course_id(); } if ( empty( $course_id ) ) { return ''; } $completed = 0; $total = false; if ( ! empty( $user_id ) ) { $course_progress = get_user_meta( $user_id, '_sfwd-course_progress', true ); $percentage = 0; $message = ''; if ( ( ! empty( $course_progress ) ) && ( isset( $course_progress[ $course_id ] ) ) && ( ! empty( $course_progress[ $course_id ] ) ) ) { if ( isset( $course_progress[ $course_id ]['completed'] ) ) { $completed = absint( $course_progress[ $course_id ]['completed'] ); } if ( isset( $course_progress[ $course_id ]['total'] ) ) { $total = absint( $course_progress[ $course_id ]['total'] ); } } else { $total = 0; } } // If $total is still false we calculate the total from course steps. if ( false === $total ) { $total = learndash_get_course_steps_count( $course_id ); } if ( $total > 0 ) { $percentage = intval( $completed * 100 / $total ); $percentage = ( $percentage > 100 ) ? 100 : $percentage; } else { $percentage = 0; } return $percentage; }
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.