Skip to main content

5.7 Progress and Performance Tweaks

Three smaller features keep LearnDash progress data healthy and fast on busy sites. Each is enabled independently from Settings > Tweaks for LearnDash.

Shortcode for patching missing progress

When you add new lessons or topics to a course that learners have already progressed through, "holes" can appear in their recorded progress, and in some cases those holes block further progression. This feature provides a shortcode that repairs them.

[tt_patch_user_progress course_id="123" topic_id="456"]
ParameterWhat it does
course_idThe course to patch. Required.
topic_idThe step the learner is trying to reach. Progress before this point is checked and patched. Required.
user_idThe user to patch. Defaults to the logged-in user.

Place the shortcode on the page where affected learners land (for example, above the blocked step). It renders nothing visible: when the page loads, it checks the learner's progress up to the given step and fills small gaps automatically.

note

The patch is deliberately conservative. Large gaps (more than three consecutive incomplete topics) are left untouched, and learners attempting to skip ahead to future content are not patched. This keeps the tool safe to leave in place.

Course progress locks

When many learners complete topics and quizzes at the same moment, a live cohort finishing a quiz together for example, simultaneous updates can collide and produce lost or inconsistent progress. The Course progress locks feature makes topic progress and quiz completion writes safe against these race conditions.

There is nothing to configure: enable it and it works in the background.

note

The locks cover learner-side completion flows. Manually editing quiz results in the WordPress admin is outside their scope.

User Course Progress Lazy-Load

On sites with many enrolled users, the Course Progress section of the admin user profile screen can make Users > Edit User slow to load. With this feature enabled, that section loads on demand via AJAX after the rest of the page. The profile screen appears immediately, and progress details fill in a moment later.

Enable it and visit Users, then edit any enrolled user to see the deferred loading in action.

The Course Progress section on an admin user profile, loaded on demand by the lazy-load feature