llms_show_mark_complete_button( LLMS_Lesson $lesson )
Determines whether or not a “Mark Complete” button should be displayed for a given lesson
Description Description
If the lesson has a quiz, the button will only be shown if the current user has already met the quiz requirements (passed the quiz, or completed at least one attempt if passing is not required).
Parameters Parameters
- $lesson
-
(LLMS_Lesson) (Required) LLMS_Lesson instance.
Return Return
(boolean)
Source Source
File: includes/functions/llms-functions-progression.php
function llms_show_mark_complete_button( $lesson ) {
$show = true;
// If a quiz button should be shown, check if user already met quiz requirements.
if ( llms_show_take_quiz_button( $lesson ) ) {
$show = false;
// Check if current user has already met quiz requirements.
$user_id = get_current_user_id();
if ( $user_id && $lesson->is_quiz_enabled() ) {
$student = llms_get_student( $user_id );
if ( $student ) {
$quiz_id = $lesson->get( 'quiz' );
$attempt = $student->quizzes()->get_best_attempt( $quiz_id );
if ( $attempt ) {
$passing_required = llms_parse_bool( $lesson->get( 'require_passing_grade' ) );
// Show button if: passing not required, OR attempt is passing.
if ( ! $passing_required || $attempt->is_passing() ) {
$show = true;
}
}
}
}
}
return apply_filters( 'llms_show_mark_complete_button', $show, $lesson );
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 3.29.0 | |
| 10.0.0 | Introduced. |