Skip to content

Instantly share code, notes, and snippets.

@adeel-raza
Last active August 16, 2021 01:06
Show Gist options
  • Select an option

  • Save adeel-raza/099b437feebbfd7c5ebafceea1520755 to your computer and use it in GitHub Desktop.

Select an option

Save adeel-raza/099b437feebbfd7c5ebafceea1520755 to your computer and use it in GitHub Desktop.

Revisions

  1. adeel-raza revised this gist Aug 8, 2019. 1 changed file with 10 additions and 5 deletions.
    15 changes: 10 additions & 5 deletions functions.php
    Original file line number Diff line number Diff line change
    @@ -4,15 +4,20 @@ function ld_next_lesson_link() {
    $user = _wp_get_current_user();

    if( $course_id && isset( $user->ID ) ) {
    $lessons = learndash_get_lesson_list( $course_id, array( 'num' => 0 ) );
    $lessons = learndash_get_lesson_list( $course_id );

    if( $lessons ) {
    $first_lesson = reset($lessons);
    }

    $user_course_progress = get_user_meta( $user->ID, '_sfwd-course_progress', true );

    if( isset( $user_course_progress[$course_id] ) ) {
    $course_progress = $user_course_progress[$course_id];

    // get first lesson link
    if( !$course_progress['lessons'] && isset( $lessons[0]->ID ) ) {
    $link = get_post_permalink( $lessons[0]->ID );
    if( !$course_progress['lessons'] && isset( $first_lesson->ID ) ) {
    $lesson_id = $first_lesson->ID;
    } else {
    end( $course_progress['lessons'] );
    $lesson_id = key( $course_progress['lessons'] );
    @@ -27,8 +32,8 @@ function ld_next_lesson_link() {

    } else {
    // get first lesson link
    if( isset ( $lessons[0]->ID ) ) {
    $lesson_id = $lessons[0]->ID;
    if( isset ( $first_lesson->ID ) ) {
    $lesson_id = $first_lesson->ID;
    }
    }

  2. adeel-raza created this gist Aug 6, 2019.
    40 changes: 40 additions & 0 deletions functions.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,40 @@
    function ld_next_lesson_link() {
    global $post;
    $course_id = learndash_get_course_id( $post );
    $user = _wp_get_current_user();

    if( $course_id && isset( $user->ID ) ) {
    $lessons = learndash_get_lesson_list( $course_id, array( 'num' => 0 ) );
    $user_course_progress = get_user_meta( $user->ID, '_sfwd-course_progress', true );

    if( isset( $user_course_progress[$course_id] ) ) {
    $course_progress = $user_course_progress[$course_id];

    // get first lesson link
    if( !$course_progress['lessons'] && isset( $lessons[0]->ID ) ) {
    $link = get_post_permalink( $lessons[0]->ID );
    } else {
    end( $course_progress['lessons'] );
    $lesson_id = key( $course_progress['lessons'] );

    foreach( $lessons as $key => $lesson ) {
    if( $lesson->ID == $lesson_id ) {
    $lesson_id = $lessons[$key+1]->ID;
    break;
    }
    }
    }

    } else {
    // get first lesson link
    if( isset ( $lessons[0]->ID ) ) {
    $lesson_id = $lessons[0]->ID;
    }
    }

    if( $lesson_id && "sfwd-lessons" == get_post_type( $lesson_id ) ) {
    $link = get_post_permalink( $lesson_id );
    return $link;
    }
    }
    }