llms_sd_my_grades_table_content( string $id, LLMS_Lesson $lesson, LLMS_Student $student, array $restrictions )
Output content for a single cell on the student single course grades table
Parameters Parameters
- $id
-
(string) (Required) Key of the table cell.
- $lesson
-
(LLMS_Lesson) (Required) LLMS_Lesson.
- $student
-
(LLMS_Student) (Required) LLMS_Student.
- $restrictions
-
(array) (Required) Restriction data from
llms_page_restricted()
.
Return Return
(void)
Source Source
File: includes/functions/llms.functions.templates.dashboard.php
function llms_sd_my_grades_table_content( $id, $lesson, $student, $restrictions ) { ob_start(); /** * Fires before the student dashboard my grades table cell content output * * The dynamic portion of the hook name, `$id`, refers to the key of the table cell. * * @since unknown * * @param LLMS_Lesson $lesson LLMS_Lesson instance. * @param LLMS_Student $student LLMS_Student instance. * @param array $restrictions Restriction data from `llms_page_restricted()`. */ do_action( 'llms_sd_my_grades_table_content_' . $id . '_before', $lesson, $student, $restrictions ); switch ( $id ) { case 'completion_date': if ( $student->is_complete( $lesson->get( 'id' ) ) ) { echo $student->get_completion_date( $lesson->get( 'id' ), get_option( 'date_format' ) ); } else { echo '–'; } break; case 'associated_quiz': if ( $lesson->has_quiz() && $restrictions['is_restricted'] ) { echo '<i class="fa fa-lock" aria-hidden="true"></i>'; } elseif ( $lesson->has_quiz() ) { $attempt = $student->quizzes()->get_last_attempt( $lesson->get( 'quiz' ) ); $url = $attempt ? $attempt->get_permalink() : get_permalink( $lesson->get( 'quiz' ) ); $text = $attempt ? __( 'Review', 'lifterlms' ) : __( 'Start', 'lifterlms' ); if ( $attempt ) { echo '<span class="llms-status llms-' . esc_attr( $attempt->get( 'status' ) ) . '">' . $attempt->l10n( 'status' ) . '</span>'; } echo '<a href="' . $url . '">' . $text . '</a>'; } else { echo '–'; } break; case 'overall_grade': $grade = $student->get_grade( $lesson->get( 'id' ) ); echo is_numeric( $grade ) ? llms_get_donut( $grade, '', 'mini' ) : '–'; break; } /** * Fires after the student dashboard my grades default table cell content output * * If id id one oare `completion_date`, `associated_quiz`, `overall_grade`. * Can be used to display custom table cells. * * The dynamic portion of the hook name, `$id`, refers to the key of the table cell. * * @since unknown * * @param LLMS_Lesson $lesson LLMS_Lesson instance. * @param LLMS_Student $student LLMS_Student instance. * @param array $restrictions Restriction data from `llms_page_restricted()`. */ do_action( 'llms_sd_my_grades_table_content_' . $id, $lesson, $student, $restrictions ); $html = ob_get_clean(); /** * Filters the HTML returned by llms_sd_my_grades_table_content(). * * @since 6.0.0 * * @param string $html The cell HTML. * @param string $id Key of the table cell. * @param LLMS_Lesson $lesson LLMS_Lesson. * @param LLMS_Student $student LLMS_Student. * @param array $restrictions Restriction data from `llms_page_restricted()`. */ return apply_filters( 'llms_sd_my_grades_table_content', $html, $id, $lesson, $student, $restrictions ); }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
3.24.0 | Introduced. |