llms_template_my_favorites_loop( LLMS_Student $student = null, array $favorites = null )
Get student’s favorites.
Parameters Parameters
- $student
-
(LLMS_Student) (Optional) LLMS_Student (current student if none supplied). Default
null.Default value: null
- $favorites
-
(array) (Optional) Array of favorites (current student's favorites if none supplied). Default
null.Default value: null
Return Return
(void)
Source Source
File: includes/functions/llms.functions.templates.dashboard.php
function llms_template_my_favorites_loop( $student = null, $favorites = null ) {
$student = llms_get_student( $student );
if ( ! $student ) {
return;
}
$favorites = $favorites ?? $student->get_favorites();
if ( ! $favorites ) {
printf( '<p>%s</p>', esc_html__( 'No favorites found.', 'lifterlms' ) );
} else {
// Adding Parent Course IDs in Favorites for each lesson.
foreach ( $favorites as $key => $favorite ) {
$lesson = new LLMS_Lesson( $favorite->post_id );
$favorite->parent_course = $lesson->get( 'parent_course' );
}
// Grouping Favorites by Parent Course ID.
$favorites = array_reduce(
$favorites,
function ( $carry, $item ) {
$carry[ $item->parent_course ][] = $item;
return $carry;
},
array()
);
echo '<div class="llms-syllabus-wrapper">';
// Printing Favorite Lessons under each Parent Course.
foreach ( $favorites as $course => $lessons ) {
// Get Course Name.
$course = new LLMS_Course( $course );
echo '<h3 class="llms-h3 llms-section-title">';
echo esc_html( $course->get( 'title' ) );
echo '</h3>';
foreach ( $lessons as $lesson ) {
$lesson = new LLMS_Lesson( $lesson->post_id );
llms_get_template(
'course/lesson-preview.php',
array(
'lesson' => $lesson,
)
);
}
}
echo '</div>';
}
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 7.5.0 | Introduced. |