The LifterLMS Student Dashboard: What Learners See and How to Shape It

A tab-by-tab tour of the LifterLMS Student Dashboard, the settings that rename or disable each endpoint, how login and registration behave on the page, and what needs a template override or code.

  • Add as a preferred source on Google
Illustration for “The LifterLMS Student Dashboard: What Learners See and How to Shape It”

The Student Dashboard is the one page every learner on a LifterLMS site returns to. It is where they resume a course, check a grade, find a certificate, update a card and redeem a voucher. It is also the login page and, if you allow it, the registration page.

That makes it the page most worth getting right, and one of the least examined. Site owners usually see it as an administrator, which is not what a student sees.

This guide walks through the dashboard as a learner experiences it, then sorts the changes you might want into three groups: those a setting handles, those that need a template override, and those that need code.

What the Student Dashboard page is

The dashboard is an ordinary WordPress page that contains the [lifterlms_my_account] shortcode or the My Account block. The setup wizard creates one, titled "Dashboard". LifterLMS knows which page to use from the Dashboard Page setting under LifterLMS > Settings > Accounts.

Two consequences follow. You can rename the page, change its slug and add your own content above or below the shortcode like any other page. And if the Dashboard Page setting points at the wrong page, or at none, links to the dashboard across the site break, so check it first when something looks off.

Each tab is an endpoint: a slug added to the page address, as in /dashboard/my-courses/. There is one real page and many views of it. The official Student Dashboard documentation is the vendor reference for the page.

What a logged-out visitor sees

Visitors who are not logged in get a login form with an email address and password field, a "Remember me" checkbox and a "Lost your password?" link. Password resets happen on the dashboard page itself, not on the default WordPress login screen.

A registration form appears below the login form only when Open Registration is enabled under LifterLMS > Settings > Accounts. It is off by default, which suits sites where accounts are created at checkout. Turn it on if people should be able to create an account without buying anything, for example to redeem a voucher. The registration form includes a "Have a voucher?" field for that purpose, and its fields are edited under LifterLMS > Forms.

After logging in, students land back on the dashboard. To send them somewhere else, such as a custom welcome page, add a login_redirect attribute with the destination address to the shortcode. New registrations also end on the dashboard.

The same Accounts screen has a "Prevent concurrent logins" option that keeps only the most recent session for the roles you choose. It is the built-in answer to shared logins.

Every tab and what it shows

TabDefault endpointWhat the student sees
DashboardNone (the page itself)A summary: a row of the student's courses, then previews of achievements, certificates and memberships, each with a "View All" link
My Coursesmy-coursesAll enrolled courses with enrollment status and date, paginated
My Gradesmy-gradesA table of courses with enrollment date, progress and grade. Selecting a course opens a lesson-by-lesson breakdown with completion dates and quiz grades
My Membershipsmy-membershipsMemberships the student belongs to
My Achievementsmy-achievementsEvery badge earned
My Certificatesmy-certificatesEvery certificate earned, each opening to a printable view
NotificationsnotificationsA history of on-site notifications, plus a preferences view for opting out of certain notification emails
Edit Accountedit-accountThe account form: name, address, email, password and whatever else you added to it
Redeem a Voucherredeem-voucherA single field for entering a voucher code
Order HistoryordersOrders with date, access expiration and next payment date. Each opens to its details and transactions
Sign OutNoneLogs the student out and returns to the dashboard page

A My Favorites tab is added when lesson favorites are enabled under LifterLMS > Settings > Courses. Add-ons can add tabs of their own.

Three details are easy to miss. Order History is where students manage a subscription, so it matters even on sites that rarely think about billing. The Notifications tab is where a student who says "I never get your emails" may have switched some of them off. And My Grades is the nearest thing to a transcript in core, so check that it reads sensibly for a course with several quizzes. For the same data from the administrator's side, see our article on reporting and student progress.

Rename or disable endpoints under Settings > Accounts

Scroll to Student Dashboard Endpoints on the Accounts settings screen. Each tab except the summary and Sign Out has a text field holding its slug.

  • To change an address, edit the slug. Slugs must be unique and URL-safe. Changing my-courses to courses changes the address, not the tab label.
  • To remove a tab, clear the field and save. A blank endpoint disables that tab completely.

The setting names do not match the tab labels exactly: the field for My Courses is called View Courses, and the one for Order History is Orders History. There is also a Lost Password endpoint, which has no tab but controls the address of the password reset view.

Disabling has side effects worth knowing. If you clear the achievements or certificates endpoint, those sections also vanish from the summary tab. If you clear the courses or memberships endpoint, the summary keeps the section but drops its "View All" link. And if you clear Redeem Vouchers, logged-in students lose their only place to enter a code, which matters if you sell vouchers.

A sensible minimum for a simple course site is the summary, My Courses, Edit Account and Order History. Remove My Memberships if you sell no memberships, and My Achievements if you award no badges. Empty tabs make a site look unfinished.

One more setting on this screen affects the page: Courses Sorting decides the order of the in-progress courses, by title, enrollment date or the course's order value. If a tab returns a "not found" page after you change a slug, open Settings > Permalinks in WordPress and save once to refresh the rewrite rules.

Shortcodes and blocks

  • [lifterlms_my_account], or the My Account block, outputs the whole dashboard, including the login and registration forms for logged-out visitors. The default layout is columns, and adding layout="stacked" switches to a stacked layout.
  • [lifterlms_login] outputs only the login form, for a dedicated login page or a sidebar.
  • [lifterlms_registration] outputs only the registration form.
  • [lifterlms_my_achievements] outputs the current student's badges anywhere on the site.

Keep the full dashboard shortcode on exactly one page, the one selected in settings. The single-purpose shortcodes are for building custom entry points around it.

Keep the dashboard out of the page cache

Everything on this page is specific to one logged-in person. LifterLMS sends no-cache headers for the Student Dashboard page, but a host-level or CDN cache can ignore them, and the symptoms are alarming: students seeing a login form while logged in, or another student's name. Exclude the dashboard address and everything beneath it from page caching. Our guide to speeding up a LifterLMS site explains what is safe to cache.

Settings, template overrides or code?

You want toUse
Remove a tab, change its address, allow registration, change course orderSettings under LifterLMS > Settings > Accounts
Add or remove fields on the account or registration formLifterLMS > Forms
Add a welcome message or banner above the dashboardThe page editor, around the shortcode or block
Change colors, spacing and typographyCSS in your child theme
Change the markup of the navigation, the orders table or another sectionA template override
Rename, reorder or add tabs, or change what the summary containsA filter or action in a small plugin or child theme

Template overrides work by copying a file from the plugin's templates/myaccount/ folder into lifterlms/myaccount/ in your child theme, for example navigation.php or my-orders.php. They give you full control of the markup, and they also become yours to maintain when the original template changes in an update. The templates documentation describes the mechanism.

Hooks are lighter. The summary tab is assembled from actions, so removing a section is one line. This example drops the memberships section from the summary without disabling the My Memberships tab:

add_action( 'init', 'acme_trim_dashboard_summary' );

function acme_trim_dashboard_summary() {
	remove_action( 'lifterlms_student_dashboard_index', 'lifterlms_template_student_dashboard_my_memberships', 40 );
}

Tab labels, order and extra tabs go through the llms_get_student_dashboard_tabs filter. Our article on customizing LifterLMS without breaking updates shows that filter in use and explains where such code should live.

Review it as a student

Before you change anything, look at the dashboard the way a learner does. The "View as" menu in the admin bar gives a quick impression, but a real test account with the Student role is more reliable. Enroll it in two courses, complete some lessons, take a quiz, buy something in test mode, and then open every tab on a phone.

Check five things: is it obvious how to resume a course, are there empty tabs, do the labels match the words you use elsewhere on the site, does the page look like the rest of your theme, and does the logged-out view make sense to someone who arrives from a "log in" link?

What to do next

Start with settings: disable the tabs you do not use, decide on Open Registration, and confirm the page is excluded from caching. That covers most sites in under an hour.

Bring in a developer when the dashboard needs to be a product in its own right: a branded layout, a "continue where you left off" panel, progress across a whole program, team or manager views, or data from another system. That is LifterLMS customization work, done with overrides and hooks so plugin updates keep working. If you have a design or a sketch, send it over and we will tell you which parts are settings and which are development.

Add LifterLMS Expert to your preferred sources

Add lifterlmsexpert as a preferred source on Google, or open this article in your AI assistant to use it as a source.

  • Add as a preferred source on Google
VishavjeetChoubeyLifterLMS Expert
Free consultation

Prefer expert help over DIY?

Skip the trial and error. Get specialist LifterLMS help and ship faster.

Talk to a LifterLMS Expert Explore our services

Replies within one business day