ID, '_slms_progression_mode', true ) ?: 'sequential';
$enrollment = get_post_meta( $post->ID, '_slms_enrollment_mode', true ) ?: 'both';
$featured = (int) get_post_meta( $post->ID, '_slms_featured', true );
$content_change = get_post_meta( $post->ID, '_slms_content_change_mode', true ) ?: 'off';
$language = I18n::get_course_language( $post->ID );
?>
ID );
if ( empty( $units ) ) {
echo '' . esc_html__( 'No units yet. Create units and assign them to this course.', 'accessnow-lms' ) . '
';
printf(
'%s',
esc_url( admin_url( 'post-new.php?post_type=slms_unit' ) ),
esc_html__( 'Add New Unit', 'accessnow-lms' )
);
return;
}
echo '';
foreach ( $units as $unit ) {
echo '
';
echo '
';
printf( '%s', esc_url( get_edit_post_link( $unit->ID ) ), esc_html( $unit->post_title ) );
echo '
';
$lessons = Progress::get_unit_lessons( $unit->ID );
if ( ! empty( $lessons ) ) {
echo '
';
foreach ( $lessons as $lesson ) {
$type = get_post_meta( $lesson->ID, '_slms_content_type', true ) ?: 'text';
$icon = 'video' === $type ? 'dashicons-video-alt3' : 'dashicons-media-text';
$quiz = get_posts(
array(
'post_type' => 'slms_quiz',
'posts_per_page' => 1,
'meta_key' => '_slms_parent_lesson', // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_key -- course structure is stored as post meta.
'meta_value' => $lesson->ID, // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_value -- course structure is stored as post meta.
)
);
echo '- ';
printf( ' ', esc_attr( $icon ) );
printf( '%s', esc_url( get_edit_post_link( $lesson->ID ) ), esc_html( $lesson->post_title ) );
if ( ! empty( $quiz ) ) {
printf( ' %s', esc_html__( 'Quiz', 'accessnow-lms' ) );
}
echo '
';
}
echo '
';
} else {
echo '
' . esc_html__( 'No lessons in this unit.', 'accessnow-lms' ) . '
';
}
echo '
';
}
echo '
';
}
}