Core::bp_ld_custom_continue_url_arr( $course_id, $lession_list, string $course_quizzes_list = '' )
Get all the URLs of current course ( lesson, topic, quiz )
Description
Parameters
- $course_id
-
(Required)
- $lession_list
-
(Required)
- $course_quizzes_list
-
(Optional)
Default value: ''
Return
(array) | string
Source
File: bp-integrations/learndash/core/Core.php
public function bp_ld_custom_continue_url_arr( $course_id, $lession_list, $course_quizzes_list = '' ) { global $post; $course_price_type = learndash_get_course_meta_setting( $course_id, 'course_price_type' ); if ( $course_price_type == 'closed' ) { $courses_progress = bp_ld_sync()->bp_get_courses_progress( get_current_user_id() ); $user_courses = learndash_user_get_enrolled_courses( get_current_user_id() ); $course_progress = isset( $courses_progress[ $course_id ] ) ? $courses_progress[ $course_id ] : null; if ( $course_progress <= 0 && ! in_array( $course_id, $user_courses) ) { return get_the_permalink( $course_id ); } } $navigation_urls = array(); if ( ! empty( $lession_list ) ) : foreach( $lession_list as $lesson ) { $lesson_topics = learndash_get_topic_list( $lesson->ID ); $course_progress = get_user_meta( get_current_user_id(), '_sfwd-course_progress', true ); $completed = ! empty( $course_progress[ $course_id ]['lessons'][ $lesson->ID ] ) && 1 === $course_progress[ $course_id ]['lessons'][ $lesson->ID ]; $navigation_urls[] = array( 'url' => get_permalink( $lesson->ID ), 'complete' => $completed ? 'yes' : 'no', ); if( ! empty( $lesson_topics ) ) : foreach( $lesson_topics as $lesson_topic ) { $completed = ! empty( $course_progress[ $course_id ]['topics'][ $lesson->ID ][ $lesson_topic->ID ] ) && 1 === $course_progress[ $course_id ]['topics'][ $lesson->ID ][ $lesson_topic->ID ]; $navigation_urls[] = array( 'url' => get_permalink( $lesson_topic->ID ), 'complete' => $completed ? 'yes' : 'no', ); $topic_quizzes = learndash_get_lesson_quiz_list( $lesson_topic->ID ); if( ! empty( $topic_quizzes ) ) : foreach( $topic_quizzes as $topic_quiz ) { $navigation_urls[] = array( 'url' => get_permalink( $topic_quiz['post']->ID ), 'complete' => learndash_is_quiz_complete( get_current_user_id(), $topic_quiz['post']->ID ) ? 'yes' : 'no' ); } endif; } endif; $lesson_quizzes = learndash_get_lesson_quiz_list( $lesson->ID ); if( ! empty( $lesson_quizzes ) ) : foreach( $lesson_quizzes as $lesson_quiz ) { $navigation_urls[] = array( 'url' => get_permalink( $lesson_quiz['post']->ID ), 'complete' => learndash_is_quiz_complete( get_current_user_id(), $lesson_quiz['post']->ID) ? 'yes' : 'no' ); } endif; } endif; $course_quizzes = learndash_get_course_quiz_list( $course_id ); if ( ! empty( $course_quizzes ) ) : foreach( $course_quizzes as $course_quiz ) { $navigation_urls[] = array( 'url' => get_permalink( $course_quiz['post']->ID ), 'complete' => learndash_is_quiz_complete( get_current_user_id(), $course_quiz['post']->ID) ? 'yes' : 'no' ); } endif; $key = array_search('no', array_column( $navigation_urls, 'complete') ); if ( '' !== $key && isset( $navigation_urls[$key] )) { return $navigation_urls[$key]['url']; } return ''; }
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.