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 esc_html( $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' ) ) . '">' . esc_html( $attempt->l10n( 'status' ) ) . '</span>';
}
echo '<a href="' . esc_url( $url ) . '">' . esc_html( $text ) . '</a>';
} else {
echo '–';
}
break;
case 'overall_grade':
$grade = $student->get_grade( $lesson->get( 'id' ) );
echo is_numeric( $grade ) ? wp_kses_post( 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. |