llms_get_restriction_message( array $restriction )
Retrieve a message describing the reason why content is restricted.
Description Description
Accepts an associative array of restriction data that can be retrieved from llms_page_restricted().
This function doesn’t handle all restriction types but it should in the future. Currently it’s being utilized for tooltips on lesson previews and some messages output during LLMS_Template_Loader handling redirects.
Parameters Parameters
- $restriction
-
(array) (Required) Array of data from
llms_page_restricted()
.
Return Return
(string)
Source Source
File: includes/functions/llms.functions.access.php
function llms_get_restriction_message( $restriction ) { $msg = __( 'You do not have permission to access this content', 'lifterlms' ); switch ( $restriction['reason'] ) { case 'course_prerequisite': $lesson = new LLMS_Lesson( $restriction['content_id'] ); $course_id = $restriction['restriction_id']; $prereq_link = '<a href="' . get_permalink( $course_id ) . '">' . get_the_title( $course_id ) . '</a>'; $msg = sprintf( /* Translators: %$1s = lesson title; %2$s link of the course prerequisite */ _x( 'The lesson "%1$s" cannot be accessed until the required prerequisite course "%2$s" is completed.', 'restricted by course prerequisite message', 'lifterlms' ), $lesson->get( 'title' ), $prereq_link ); break; case 'course_track_prerequisite': $lesson = new LLMS_Lesson( $restriction['content_id'] ); $track = new LLMS_Track( $restriction['restriction_id'] ); $prereq_link = '<a href="' . $track->get_permalink() . '">' . $track->term->name . '</a>'; $msg = sprintf( /* Translators: %$1s = lesson title; %2$s link of the track prerequisite */ _x( 'The lesson "%1$s" cannot be accessed until the required prerequisite track "%2$s" is completed.', 'restricted by course track prerequisite message', 'lifterlms' ), $lesson->get( 'title' ), $prereq_link ); break; // this particular case is only utilized by lessons, courses do the check differently in the template. case 'course_time_period': $course = new LLMS_Course( $restriction['restriction_id'] ); // if the start date hasn't passed yet. if ( ! $course->has_date_passed( 'start_date' ) ) { $msg = $course->get( 'course_opens_message' ); } elseif ( $course->has_date_passed( 'end_date' ) ) { $msg = $course->get( 'course_closed_message' ); } break; case 'enrollment_lesson': $course = new LLMS_Course( $restriction['restriction_id'] ); $msg = $course->get( 'content_restricted_message' ); break; case 'lesson_drip': $lesson = new LLMS_Lesson( $restriction['restriction_id'] ); $msg = sprintf( /* Translators: %$1s = lesson title; %2$s available date */ _x( 'The lesson "%1$s" will be available on %2$s', 'lesson restricted by drip settings message', 'lifterlms' ), $lesson->get( 'title' ), $lesson->get_available_date() ); break; case 'lesson_prerequisite': $lesson = new LLMS_Lesson( $restriction['content_id'] ); $prereq_lesson = new LLMS_Lesson( $restriction['restriction_id'] ); $prereq_link = '<a href="' . get_permalink( $prereq_lesson->get( 'id' ) ) . '">' . $prereq_lesson->get( 'title' ) . '</a>'; $msg = sprintf( /* Translators: %$1s = lesson title; %2$s link of the lesson prerequisite */ _x( 'The lesson "%1$s" cannot be accessed until the required prerequisite "%2$s" is completed.', 'lesson restricted by prerequisite message', 'lifterlms' ), $lesson->get( 'title' ), $prereq_link ); break; default: } /** * Allow filtering the restriction message. * * @since Unknown * * @param string $msg Restriction message. * @param array $restriction Array of data from `llms_page_restricted()`. */ return apply_filters( 'llms_get_restriction_message', do_shortcode( $msg ), $restriction ); }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
3.2.4 | |
3.16.12 | Introduced. |