LLMS_Lesson::get_next_lesson()
Get Next lesson Finds and returns next lesson id
Description Description
Return Return
(int) [ID of next lesson]
Source Source
File: includes/models/model.llms.lesson.php
public function get_next_lesson() { $parent_section = $this->get_parent_section(); $current_position = $this->get_order(); $next_position = $current_position + 1; $args = array( 'posts_per_page' => 1, 'post_type' => 'lesson', 'nopaging' => true, 'post_status' => 'publish', 'meta_query' => array( 'relation' => 'AND', array( 'key' => '_llms_parent_section', 'value' => $parent_section, 'compare' => '=', ), array( 'key' => '_llms_order', 'value' => $next_position, 'compare' => '=', ) ), ); $lessons = get_posts( $args ); //return the first one even if there for some crazy reason were more than one. if ( $lessons ) { return $lessons[0]->ID; } else { // See if there is another section after this section and get first lesson there $parent_course = $this->get_parent_course(); $cursection = new LLMS_Section( $this->get_parent_section() ); $current_position = $cursection->get_order(); $next_position = $current_position + 1; $args = array( 'post_type' => 'section', 'posts_per_page' => 500, 'meta_key' => '_llms_order', 'order' => 'ASC', 'orderby' => 'meta_value_num', 'meta_query' => array( 'relation' => 'AND', array( 'key' => '_llms_parent_course', 'value' => $parent_course, 'compare' => '=', ), array( 'key' => '_llms_order', 'value' => $next_position, 'compare' => '=', ) ), ); $sections = get_posts( $args ); if ( $sections ) { $newsection = new LLMS_Section( $sections[0]->ID ); $lessons = $newsection->get_lessons( 'posts' ); if ( $lessons ) { return $lessons[0]->ID; } else { return false; } } else { return false; } }// End if(). }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
1.0.0 | Introduced. |
User Contributed Notes User Contributed Notes
Permalink: