Improved Permission Management in LifterLMS v1.4.5

Better permission management for LifterLMS admin panel screens


Until now, permission management in LifterLMS has been impossible. LifterLMS granted access to all LifterLMS settings screens, analytics screens, and custom post types (Courses, lesson, quizzes, and more) based on one singular, and rather relaxed, WordPress user capability: “edit_posts.” In our newest release, we’ve hardened default permissions so that now only users with the “manage_options” capability — WordPress Admin Role by default — can access these areas of LifterLMS.
We’ve also added 13 new filters in order to allow you to customize access based on your site’s specific needs. Using these new filters, you can now determine exactly what a LifterLMS user can see when they access your site’s WordPress admin panel. Access to a LifterLMS screen or post type is now granted based on it’s own capability, so if you need to grant access to LifterLMS analytics but not to LifterLMS settings, you can easily do so with a few short lines of code.
LifterLMS admin permission management
For every menu item (pictured right) there’s an associated filter and a filter to control the presence of the main LifterLMS menu item itself.
For more information on leveraging our new filters, please consult our documentation. You may also wish to brush up on WordPress Roles and Capabilities.

New action hooks trigger during student and membership enrollment

You can now also hook into either “llms_user_enrolled_in_course” or “llms_user_added_to_membership_level” to make custom scripts executed during user course or membership enrollment. For more information and code snippets follow this link: https://lifterlms.com/docs/lifterlms-action-reference/.

And that’s not all, we’ve also

  • Added new translations and filterable areas during LifterLMS checkout and payment confirmation.
  • Memberships now correctly display pagination
  • Improved the admin user interface to allow multi-select boxes to be powered by the incredible Chosen jQuery plugin