Key Controls
Visibility Control for Sensei LMS addon helps you hide messages and content for specific criterion anywhere on your WordPress page.
Login Status
Show/Hide HTML elements, menus, and other details based on user’s status like logged in or logged out.
Access to Course
Show/Hide HTML elements, menus, and other details based on user’s enrollment and course completion.
User Role
Show/hide HTML elements to users having a certain role.
Ex: administrator, subscriber, student etc.
How to Use?
You simply need to add a CSS class to your element div or span.
As explained here, if Course is 123
Login/Logout Status
Show element to a logged-in user
Add this CSS class: visible_to_logged_in OR hidden_to_logged_out
Hide element from a logged-in user
Add this CSS class: visible_to_logged_out OR hidden_to_logged_in
For a specific course
Example Course ID: 123
Show element to user enrolled in course
Add this CSS class: visible_to_course_123
Hide element from user enrolled in course,
Add this CSS class: hidden_to_course_123
For Course Completion
Example Course ID: 123
Show element to user who completed the course
Add this CSS class: visible_to_course_complete_123
Hide element from user who completed course
Add this CSS class: hidden_to_course_complete_123
Show element to user who has not completed the course
Add this CSS class: visible_to_course_incomplete_123
Hide element from user who has not completed the course
Add this CSS class: hidden_to_course_incomplete_123
For Specific Roles
Show element to user role administrator
Add this CSS class: visible_to_role_administrator
Hide element to user role administrator
Add this CSS class: hidden_to_role_administrator
Note:
- To show an element to multiple specific roles only, you need to add the element multiple times, one for each role.
- To hide an element/menu from specific multiple roles only you can add the element once add multiple classes to the same element.
Mechanism of Functioning
- Multiple CSS Classes: If multiple visibility control classes are added, ALL of them must meet the criterion to keep the element visible. If any one of them hides the element, it will be hidden. For example: visible_to_group_123 visible_to_group_124 will show the element only to those who have access to both groups.Hidden data/elements reach the browser. Though users do not see it.
- CSS is added to the page for all CSS elements that need to be hidden based on the above rules.
- After the page is loaded. These elements are removed from the page using jQuery (if available), so it won’t be available even on Inspect.
- Elements rendered after the page load are hidden but not removed from DOM/page.