Record in-person and online training sessions
How we converted an off-the-shelf LMS into a platform for delivering and logging officer training activities for a course provider to law enforcement agencies.
Problem:
Our client built a successful law enforcement training program with a CRM tool that has an LMS-like feature but lacks other basic features to manage students. One of them is recording in-person and online training sessions, so the client asked me for a way to do this.
Solution:
The solution involved leveraging LearnDash groups and developing custom interfaces that allowed agency owners and sergeants to record training sessions, manage agency details, and generate reports without requiring officers to interact with the system directly.
Tech Stack:
- LearnDash Groups
- Custom development
Agency structure and integration with LearnDash
To let some users train other users, we used a key plugin of LearnDash called Groups. In LearnDash, group leaders can see and change the progress of their trainees, who are group members. Some group add-ons include a third role: group owners. These owners can buy groups, manage group leaders, and view reports about their groups. This three-level structure matched the client’s needs perfectly. Agency owners can buy access and generate reports, while sergeants can view and change the progress of their officers. So, with that in mind, we reduced the need for custom development and accelerated the process.
We created user roles using WordPress’s built-in system.
Three user roles were defined to provide law enforcement with a unique platform experience. Agency owners received a “group owner” role to purchase and manage team seats. Sergeants were assigned a “group leader” role to log training activities for officers. Officers hold a “group member” role; while they don’t need to log in, storing their data in WordPress’ user meta utilizes existing structures. This data storage allows future access for officers without extra data entry.

Recording training sessions within LearnDash’s lessons.
With the data structure in place, the next challenge was to make tracking officers’ training time as simple as possible. By default, there are no built-in front-end interfaces for this and any user progress management would need to be done in the WordPress admin area. Not an ideal workflow because it can seem overwhelming for most people. We addressed this need by creating two methods for logging a training activity: one on a dedicated Record Training page and another directly inline within the LMS content, which made it so much easier and intuitive for sergeants.

On the Record Training page
The page enables sergeants to input training details for their officers and teams. It offers flexible fields to record the training resource title, completion date, link, and duration, making it particularly useful for tracking third-party content like YouTube videos.
Inline within the course content
Sergeants conduct training sessions using the LMS content, with a form added below the lesson for selecting an agency and entering discussion duration. The lesson content and sergeant’s identity are saved with the training record for detailed reporting without extra data entry. The new interface highlights
Let’s discuss your project
11 93618-5955