GradeBook for LearnDash


Manage Grade Books

In order to use this plugin, you will need to create one or more Grade Books. Each Gradebook can have customized settings.


In order to manage your Grade Books, visit the main GradeBook page under “LearnDash LMS” and then click the “Manage Grade Books” tab at the top of the page. From there you can edit Grade Books or create new ones.


There are various settings you will need to customize for each Grade Book.


This section of the Grade Book determines what will go into factoring the final user grades.

You must first select one or more Courses to be graded, or you can choose “All Courses”.

You may then add any number of Components. Each Component is something that will have a grade calculated depending on what is inside it. Each Component grade will factor towards the Grade Book final grade for each user. Some examples of Components would be: Lessons, Quizzes, Semester 1, At Home Projects, etc. Add any number of Quizzes, Assignments, Lessons, and Topics to each Component. You may also set the All Toggle to active, which will automatically include all current and future items. Be sure to also give each Component a name.


Each Grade Book offers the ability to use a weighted grading system. This is turned off by default, but you can toggle it on by clicking on the toggle under “Enable Grade Book Weighting”. Once enabled, you will see a list of all Components you have created (if any) and an input to enter a “Weight %”. Enter a percentage out of 100% for each Component, so that all Components total 100%. Now, when factoring the final grade, each Component’s grade will only count for whatever weight you assign it.


Completion Grading is a setting you can modify that will determine how Lessons and Topics are graded. By default, this is set to “Only count on completion”. What this means is that if you have any Lessons and Topics inside any Components, they will not count towards the final grade until they are completed, at which point they will receive 100% for each. If you change this setting to “Fail until completion”, each uncompleted Lesson and Topic will count as a failing grade at 0% until the user marks them complete, at which point they will receive 100% for each. “Mark as Incomplete until completion” will set all Quizzes and Assignments as Incomplete until they are completed. Incomplete does not impact the Student’s Grade, but it will cause them to show as Incomplete within the Student’s Grades in the Grade Book (Under “View/Edit User Grades”) and within the Report Card.


This does not contain any settings, but it allows you to quickly search for a user, and then click the “View/Edit User Grades”, where you can view or modify a user’s grades for the current Grade Book.

The GradeBook

The GradeBook page is where site admins, instructors, or anyone else who has proper access can go to view a snapshot of each Grade Book’s grades.


This page is accessible via the LearnDash LMS admin menu under GradeBook.


Each row in the table provides information about a single user and his/her overall grade and any other pre-defined Component grades. When more Components are added to each Grade Book, they will show here respectively.


Clicking on any column header will reload the page with all of the user results sorted by the selected column in ascending order, indicated by an upwards facing triangle next to the column header. Clicking the same column header will reload the page with the results sorted in descending order.

Searching Users

Use the user search in the top right to search through all users. This search field works like the default WordPress admin user search. You may enter a user ID, user display name, user login name, or even user email.


The Grade Book allows you to filter the results by groups. If you are an administrator of the website, you will be able to see all users without any group restrictions, and you will be able to view individual groups via the “Showing Grade Book for:” select box in the top left of the screen.

If you are a group leader that only belongs to 1 group, you will not see the dropdown and you will only see users in your group. If you are a leader of more than 1 group, you will be able to see a dropdown and switch groups.

Disable Sorting by Grades for the Backend Grade Book

If you have a slow performing website, or you have a very large user base, and the Grade Book will not load, try enabling “Disable Sorting by Grades for the Backend Grade Book”. This will disable some sorting features and grade snapshots within the Grade Book, but will load significantly faster and load more reliably on larger websites.

To enable Disable Sorting by Grades for the Backend Grade Book, see here.

Report Card

The Report Card is a presentational tool to give users information about their grades for a Grade Book.


The report card contains information about the user’s overall grade, individual Component grades, and individual scores on various grade details. Clicking on any Component, or the arrow to the left, will expand a breakdown of scores. Scores can be manual grades, quizzes, assignments, lessons, or topics.


In order to use the report card, you must use the report card shortcode: [ld_report_card gradebook="1"]

Copy and paste this shortcode into any text that accepts shortcodes, the most common being the main content of any page or post. Replace the number “1” with the ID of the Grade Book you want to show. You can also find the shortcode to copy when editing each Grade Book.

If you use the shortcode without a Grade Book ID defined like [ld_report_card] then it will attempt to show all relevant Grade Books for the user one after another.

You may also use the shortcode attribute user to specify a specific user by the user’s ID. This will cause the report card to contain information about whatever user is supplied.

To find a user’s ID, go to the Users page in the WordPress administration area of the site and click on the username of whichever user you want to find the ID of. This will take you to the user edit page. In the URL you will see part of the URL that looks like user_id=107. The number is the user ID.

If you only want to show the Overall Grade (For instance, as part of a Certificate) then you can alternatively use the [ld_overall_grade] shortcode. The arguments are identical to those used in [ld_report_card], however for the Overall Grade shortcode the Grade Book ID is required.


LearnDash has the ability to set a custom grade for assignments. By default, the grade of an assignment is assumed to be 100%, unless modified.

Manual Grades

Manual grades may be entered for users at any time. They are used to add any grade that cannot be represented by a quiz or assignment.

Accessing the Edit Screen

In order to manage a user’s manual grades, you will need to access the Grade Book user edit screen. This can be done either by clicking the “View/Edit User Grades” text in the “User” column of the Grade Book or by searching for a user and clicking “View/Edit User Grades” from the Grade Book edit screen.

Each row represents a grade. Each grade type is represented by the icon on the left side. Hovering over the icon will reveal text to help identify.

  •  Pencil – Manual Grade
  •  Question Mark – Quiz
  •  Paper – Assignment
  • Writing – Lesson
  •  Folder – Topic

Managing Manual Grades

From here you may add, delete, or modify manual grades for the user.

NOTE: All changes you make are live immediately, so be cautious.

Add a Manual Grade

To add a manual grade, click the “Add Manual Grade” button. This will display a manual grade edit panel. From here you must:

  1. Enter a unique name for the manual grade. This can be anything, but it must be unique to the Type you are adding the grade to. It may be “Crossword Puzzle” or “Attendance” or anything else.
  2. Enter the score for the grade. It can be any number above 0.
  3. (Optional) Enter a status for the grade.
  4. Click the “Add” button.

NOTE: By default, there is no special status, but you may set the grade to have a special status. Currently, the only status to select is “Incomplete”. By setting the grade to “Incomplete”, the grade will not be factored into the final grade calculations.

Remove a Manual Grade

A manual grade may be removed at any time. You must:

  1. Hover over any manual grade (manual grades are represented with a pencil icon on the left side).
  2. Click the “Remove” link that appears.
  3. Confirm deletion.

WARNING: Manual grades cannot be recovered. You can always add it back yourself, but you cannot undo it automatically.

Edit a Manual Grade

A manual grade may be edited at any time. You must:

  1. Hover over any manual grade.
  2. Click the “Edit” link that appears.
  3. Follow the same steps as adding a manual grade, except click the “Change” button when finished.

Modifying Other Grades

You are able to also modify quiz and assignment grades from here. Currently, the only modifications you can make from here are assigning them a special status. You cannot edit the actual grade score from here.

Frontend Grade Book

Starting with GradeBook for LearnDash v2.0.0, a Frontend Grade Book is included. You can include the Frontend Grade Book on any page using the [ld_gradebook] shortcode. It provides all the same functionality as the Backend Grade Book on the Frontend for site owners who do not want to grant their Group Leaders/Teachers access to the backend.

Differences from the Backend Grade Book

The Frontend Grade Book operates as a mostly 1:1 replacement for the Backend Grade Book, but there are a couple key differences:

  1. Even when the “Disable Sorting by Grades for the Backend Grade Book” setting is enabled, you will be able to sort by every column. This is due to a difference in how the Frontend Grade Book populates its data.
    1. Read more about “Disable Sorting by Grades for the Backend Grade Book”.
  2. All interactions, including searching, pagination, and even managing a Student’s Grades are all done on the same page that you place the [ld_gradebook] shortcode on without needing to refresh the page.
    1. Because of this, if you have a large number of Students in your Grade Book it may take a few seconds for all pages to finish loading.


GradeBook for LearnDash provides robust customization over the plugin functionality via settings.

Accessing the Settings Pages

This page is accessed by first accessing the GradeBook page (as explained above here), and then clicking on the “Settings” tab at the top of the screen.

From here, use the blue links at the top to move to different Settings sections.


From the “General” section of the Settings page, you can adjust various general plugin settings.


Depending on your site setup, users may be able to re-take quizzes. If so, you must choose whether the user’s most recent quiz score will be used, or the user’s best (highest) score.

Grade Display Mode

By default, the Grade Book uses letters (A, B, D-, C+, etc.) to display grades. If you would rather have the system use percentages (0-100%), change this setting to “Percentage”.

Grade Rounding Precision

Individual user grade component (assignment, quiz, manual grade) rounding is determined by these settings. This does not impact rounding of Component grades or the user’s final grade.

Precision determines how many decimal places a grade will be rounded to. 0 will not use any decimals and only allow whole numbers (integers). You may set this to any value between (inclusive) 0 and 10.

Grade Rounding Mode

Rounding mode determines how the precision will be rounded. Rounding up will allows round the precision point up. Rounding down will allows round it down. Closest will round it up or down based on which it is closest to (5 rounding up).

Disable Sorting by Grades for the Backend Grade Book

The setting for Disabling Sorting by Grades for the Backend Grade Book can be toggled on and off. To see more information on what this means, see here.

Note: If you are unable to even access the Settings page because the GradeBook page won’t load, take your site address (let’s say, figure out your WordPress admin base (most likely /wp-admin/), and then append admin.php?page=learndash-gradebook-settings (so, in our example, full URL would be

Alternatively, you can add define( 'LD_GB_DISABLE_SORTING_BY_GRADES_BACKEND', true ); to your ./wp-config.php file.

Restart Quickstart Guide

Once you dismiss the Quickstart Guide, you may restart it by clicking the button here. You may also copy and share the link provided to other users to restart the guide (only if they have access).


This is where you can make changes to roles and capability aspects of the plugin.

View the Grade Book

By default, only Administrators and Group Leaders can view the Grade Book. If you would like to allow other user roles to view the Grade Book, you may add them here.

DEVELOPER NOTE: This will add the capability view_gradebook to the selected roles. You may add this capability to roles in any method desired, including any role manager plugins, and the results will be reflected here.

Create and Edit their own Grade Books

By default, only Administrators can create and edit Grade Books. If you would like to allow other user roles to create and edit their own Grade Books, you may add them here. Any user roles you grant this capability to can only manage their own Grade Books, but Administrators can manage anyone’s Grade Books.

DEVELOPER NOTE: This will add the capabilities read_gradebook, read_private_gradebooks, publish_gradebooks, edit_gradebook, edit_gradebooks, edit_private_gradebooks, edit_published_gradebooks, delete_gradebooks, delete_private_gradebooks, delete_published_gradebooks, and delete_gradebook to the selected roles. You may add these capabilities to roles in any method desired, including any role manager plugins, and the results will be reflected here. In order for the GradeBook menu item to appear, they must also be granted the view_gradebook capability.

Quickstart Guide Visibility

Only administrators can view the Quickstart Guide. If you would other users to be able to use the guide, you may add them here. Only user roles with enough capability to access all of the LearnDash and GradeBook for LearnDash pages will appear here. In a typical setup, this is only the “Administrator” role.


This is where you can change some styling parts of the plugin.

Letter Grade Scale

GradeBook for LearnDash uses a very typical letter grade system by default to display user grades. You may edit this in any way you like here. Simply modify the existing values, delete existing values, or even add new letters using the “Add Letter Grade” button at the bottom.

NOTE: You cannot change the order of letters, but they are automatically displayed in ascending order by the grade and will be automatically re-sorted after saving changes.

Grade Color Scale

You may also edit the color displayed with user grades here. Same with the letter grade scale, you may modify what already exists, delete any, and add new values.

Note on both scales:

Both scales will function in the following manner: Once a grade has reached the percentage you enter as a minimum, the letter or color will be applied up until the next interval.


This page is where you manage your plugin license. It is VERY IMPORTANT that you enter and activate your license as soon as possible. Activating the license on your site gives you access to important updates to the plugin including new features, bug fixes, and potential security patches.


Report Card Template

The Report Card template can be heavily or lightly modified as needed. There are 2 ways to override an aspect of the report card.

Overriding Theme Template Files

The plugin first looks in your theme for template files before loading the plugin template files. If a child theme is active, that will take precedence, then your parent theme, then the plugin. Any number of the template files that make up the report card may be replaced. It is recommended to copy whichever files you need to replace first, and then modify from there. The structure in your theme would be as follows:

  • learndash/report-card/report-card.php
  • learndash/report-card/title.php
  • learndash/report-card/overall-grade.php
  • learndash/report-card/expand-collapse.php
  • learndash/report-card/component/component.php
  • learndash/report-card/component/grade.php
  • learndash/report-card/component/grades-header.php
  • learndash/report-card/component/title.php
  • learndash/report-card/component/toggle.php
  • learndash/report-card/grade/grade.php
  • learndash/report-card/grade/name.php
  • learndash/report-card/grade/score.php
  • learndash/report-card/grade/type.php

Take a look at how these files work within the plugin itself. To locate them in the plugin, simply replace the “learndash” directory with “templates” directory.

Removing or Modifying the Hooks

These files are loaded via action hooks. You can easily remove or replace them to use your own functions to load files. You can get a better look at them and how to use them inside the file in the plugin includes/shortcodes/class-ld-gb-sc-reportcard.php

Frontend Grade Book Template

The Frontend Grade Book template can be heavily or lightly modified as needed. There are 2 ways to override an aspect of the Frontend Grade Book.

Overriding Theme Template Files

The plugin first looks in your theme for template files before loading the plugin template files. If a child theme is active, that will take precedence, then your parent theme, then the plugin. Any number of the template files that make up the frontend gradebook may be replaced. It is recommended to copy whichever files you need to replace first, and then modify from there. The structure in your theme would be as follows:

  • learndash/frontend-gradebook/edit-panel/components/edit-panel-component-grade.php
  • learndash/frontend-gradebook/edit-panel/components/edit-panel-component-override.php
  • learndash/frontend-gradebook/edit-panel/components/edit-panel-component.php
  • learndash/frontend-gradebook/edit-panel/components/edit-panel-components.php
  • learndash/frontend-gradebook/edit-panel/components/edit-panel-grade-add.php
  • learndash/frontend-gradebook/edit-panel/components/edit-panel-grade-edit.php
  • learndash/frontend-gradebook/edit-panel/components/edit-panel-grade-row.php
  • learndash/frontend-gradebook/edit-panel/components/edit-panel-no-grades.php
  • learndash/frontend-gradebook/edit-panel/edit-panel-back-to-gradebook.php
  • learndash/frontend-gradebook/edit-panel/edit-panel-user-grade.php
  • learndash/frontend-gradebook/edit-panel/edit-panel.php
  • learndash/frontend-gradebook/errors/dialog.php
  • learndash/frontend-gradebook/errors/no-access.php
  • learndash/frontend-gradebook/errors/no-gradebooks.php
  • learndash/frontend-gradebook/errors/no-groups.php
  • learndash/frontend-gradebook/export-buttons.php
  • learndash/frontend-gradebook/frontend-gradebook.php
  • learndash/frontend-gradebook/gradebook-dropdown.php
  • learndash/frontend-gradebook/gradebook-results.php
  • learndash/frontend-gradebook/group-dropdown.php
  • learndash/frontend-gradebook/table/table-head.php
  • learndash/frontend-gradebook/table/table-list.php
  • learndash/frontend-gradebook/table/table-row.php

Take a look at how these files work within the plugin itself. To locate them in the plugin, simply replace the “learndash” directory with “templates” directory.

Removing or Modifying the Hooks

These files are loaded via action hooks. You can easily remove or replace them to use your own functions to load files. You can get a better look at them and how to use them inside the file in the plugin includes/shortcodes/class-ld-gb-sc-frontendgradebook.php

Updating to v3.0.0 and beyond

If you are updating from v2.1.1 to a newer version of GradeBook for LearnDash, then you will be able to update from the WordPress Dashboard as you would any other plugin.

However, if you are updating from v2.1.0 or earlier, you will need to instead need to visit “My Account” on when logged in and then under “Purchase History” click “View Details and Downloads” for your purchase. From here you will be able to find the .ZIP file for the latest version of GradeBook for LearnDash. Download that and then on your WordPress site, navigate to Plugins -> Add New. Click “Upload Plugin” and choose the .ZIP file that you downloaded. It will ask you if you want to overwrite the currently installed version of the plugin. Approve the overwriting process and you will be on the latest release of the plugin and able to accept updates via the WordPress Dashboard normally once again.



  • Fixes an issue where an empty timestamp could show on Grade Book as a date in late 1969 or early 1970
  • The following templates were updated:
    • ./templates/frontend-gradebook/edit-panel/components/edit-panel-grade-row.php


  • Fixes an issue where non-Admins would not be allowed to take certain actions in the Frontend Grade Book
  • Fixes an issue where creating or editing a Manual Grade could result in an empty error message
  • Fixes an issue where the "Cancel" button when adding a new Manual Grade wouldn’t show any text
  • The following templates were updated:
    • ./templates/frontend-gradebook/edit-panel/edit-panel.php
    • ./templates/frontend-gradebook/edit-panel/components/edit-panel-component-grade.php
    • ./templates/frontend-gradebook/edit-panel/components/edit-panel-component-override.php
    • ./templates/frontend-gradebook/edit-panel/components/edit-panel-component.php
    • ./templates/frontend-gradebook/edit-panel/components/edit-panel-components.php
    • ./templates/frontend-gradebook/edit-panel/components/edit-panel-grade-add.php
    • ./templates/frontend-gradebook/edit-panel/components/edit-panel-grade-edit.php
    • ./templates/frontend-gradebook/edit-panel/components/edit-panel-grade-row.php


  • Fixes an issue with user visibility in the Frontend Grade Book for Group Leaders when "Include All Users In Grade Book" was checked
  • The following template files were updated:
    • ./templates/frontend-gradebook/frontend-gradebook.php


  • Fixes an edge case that could crash the Frontend Grade Book if all of the following conditions were true:
    • The logged in User has the Group Leader User Role
    • The logged in User is not the Group Leader of any Groups
    • The logged in User has another User Role in addition to Group Leader
    • The "Non-Group Leaders only have their own Group Users in their Grade Book" setting is enabled
  • Adds the ld_gb_is_super_admin() function
    • This is a wrapper for the is_super_admin() function which is a part of WordPress itself. This was necessary to allow the output of is_super_admin() to be filterable if necessary.
  • The following template files were updated:
    • ./templates/frontend-gradebook/frontend-gradebook.php


  • Fixes an issue where a Group Leader without any Groups could see Grade Book data for Students that they should not be able to see


  • Fixes a potential issue when Elementor is active but the current page is not utilizing it


  • Fixes a possible issue when "All Courses" is chosen for a Grade Book but a Student doesn’t have any Course Progress stored yet


  • Fixes some deprecation warnings in PHP 8.x


  • Multiple Courses can now be selected for a single Grade Book!
    • This will allow you to create a Grade Book that only include Grades for 2 or more Courses rather than requiring "All Courses" to be used or to otherwise have a separate Grade Book for every single Course.
  • Now compatible with Elementor!
    • Previously the necessary styling and scripts for the Report Card and Frontend Grade Book would not load if the page were created using Elementor, but this has now been addressed with GradeBook for LearnDash v4.0.0
  • Lesson and Topic Completion can now be shown as complete/incomplete when "All Courses" or more than one Course has been added to the Grade Book!
    • Previously this was not supported and any Lessons/Topics that were selected for the Grade Book would not show if "All Courses" were enabled, but this limitation has been removed as of GradeBook for LearnDash v4.0.0
  • A new "Per Page" input has been added under "Screen Options" in the upper-right hand of the screen while viewing the Backend Grade Book.
  • Timestamps are now saved for Manual Grades!
    • Any time a Manual Grade is created or updated a timestamp will be saved along with it.
    • This will show within the View/Edit Grades view for the Student within a Grade Book.
  • The Specific Assignment Selector has been removed
    • This was not a particularly useful feature as it had you select specific submissions for an Assignment Upload to include in your Grade Book rather than choosing the Lesson or Topic that the Assignments are to be uploaded to.
    • It is recommended to either use the "All Assignments" toggle or to use the "Assignments from Lessons" or "Assignments from Topics" fields as is approrpriate for your setup.
  • The "Users" meta box has been removed from the Grade Book Edit screen
    • This meta box acted as a way to view a specific User’s Grades while editing the Grade Book, but given that until you saved your changes to the Grade Book you wouldn’t see anything you may have adjusted anyway, it was removed in favor of accessing the View/Edit Grades screen from the Backend (or Frontend) Grade Book itself.
  • Adds the ld_gb_backend_gradebook_grade_format filter for adjusting the Grade Format that is used by the Backend Grade Book and its views
  • Adds the learndash_update_manual_grade filter so that the saved data for a Manual Grade can be programmatically adjusted or added to if needed


  • Right to Left (RTL) Language support!
  • Improved translation file to assist with setting up the plugin within an RTL environment
    • The following template files were updated to accomodate this:
    • ./templates/frontend-gradebook/gradebook-dropdown.php
    • ./templates/frontend-gradebook/group-dropdown.php
    • ./templates/frontend-gradebook/edit-panel/edit-panel-user-grade.php
    • ./templates/frontend-gradebook/edit-panel/components/edit-panel-component-override.php
    • ./templates/frontend-gradebook/edit-panel/components/edit-panel-component.php
    • ./templates/frontend-gradebook/edit-panel/components/edit-panel-grade-add.php
    • ./templates/frontend-gradebook/edit-panel/components/edit-panel-grade-edit.php
    • ./templates/frontend-gradebook/edit-panel/components/edit-panel-grade-row.php
    • ./templates/frontend-gradebook/table/table-head.php
    • ./templates/frontend-gradebook/table/table-row.php
    • ./templates/report-card/expand-collapse.php
    • ./templates/report-card/overall-grade.php
    • ./templates/report-card/title.php
    • ./templates/report-card/component/grades-header.php
    • ./templates/report-card/component/title.php


  • Fixes an issue with the Overall Grade Shortcode and Gutenberg Block where extra space would show above and below it
    • This will allow you to utilize it inline within a Certificate more easily
  • Adds missing WordPress Filters for the CSV Headers in the All Grade Book Grades export


  • Tested and working with LearnDash 4!
  • Adds Timestamps to the Frontend and Backend Grade Book under the View/Edit User Grades Panel
  • Adds Timestamps to the All Grades CSV export
  • Properly support translation throughout the plugin
  • Updates the v3.0.0 upgrade routine to account for the Subscriber Role not existing in rare cases
  • Renames the "Quizzes" option under LearnDash LMS -> GradeBook -> Settings to "Quiz grades used for calculations" to better describe what it does
  • The following Frontend Grade Book templates have been updated:
    • frontend-gradebook/edit-panel/components/edit-panel-component-override.php
    • frontend-gradebook/edit-panel/components/edit-panel-component.php
    • frontend-gradebook/edit-panel/components/edit-panel-grade-edit.php
    • frontend-gradebook/edit-panel/components/edit-panel-grade-row.php
  • Updates our licensing and support module to the latest version
  • Fixes a bug where default settings could not be read correctly, resulting in PHP errors on some sites
  • Fixes a bug where our reminder to enter a license key could be shown twice
  • Fixes a bug where the "Settings saved." dialog could show twice on our settings pages
  • Fixes an issue where Component Grades and Overall Grades wouldn’t respect the Rounding settings chosen under LearnDash LMS -> GradeBook -> Settings
  • Fixes an issue where 0% grades would not show in CSV Exports
  • Fixes an issue with the Backend View/Edit User Grades Panel would always refresh with letter grades no matter what your settings were configured to under LearnDash LMS -> GradeBook -> Settings
  • Fixes an issue where decimal values were not being allowed using the Frontend Grade Book Component Grade Override and Manual Grade forms
  • Fixes an issue where Component Grade Overrides would not save as a decimal value


  • Renames "Gradebooks" to "Grade Books" and the main "Gradebook" menu item to "GradeBook"
  • Ensures that the CSS/JS for Frontend Grade Books and Report Cards are only loaded when they are used
  • Fixes an incompatibility with ProPanel where its frontend views would no longer be searchable due to the Frontend Grade Book utilizing a newer version of the Select2 library
  • Removes the welcome page
  • Corrects some grammar mistakes in the Quick Start Guide
  • Corrects some PHP errors in the Quick Start Guide
  • Bumps the WordPress tested to version to 5.8.2
  • Bumps the LearnDash tested to version to


  • Fixes a bug where the Letter Grade Scale and Grade Color Scale would not initialize correctly
  • Adds a Description to the "Gradebook" field for the Report Card Block to explain how it works when a Gradebook is not defined


  • Renames plugin from "LearnDash – Gradebook" to "Gradebook for LearnDash"
    • Note: Users updating from v2.1.0 of the plugin or earlier will need to manually update by uploading the ZIP file to their site. Users on v2.1.1 will be able to update normally.
  • Adds Gutenberg Blocks for the Frontend Gradebook, Report Cards, and Overall Grades
  • Prevents Subscribers from being able to be granted any capabilities related to viewing or managing the Gradebook
    • This does not impact their ability to view Report Cards or Overall Grades
    • An upgrade script will run to forcibly revoke these capabilities from the Subscriber Role
  • Adds clickable links to the Report Card so that Students can quickly view the Quiz, Assignment, etc. related to a grade
  • Fixes some issues with the Quick Start guide where points of interest could be covered by the dialog
  • Improves the license activation message on the Plugins page
    • Now it will link directly to where you need to put in your license key
  • Adds loading indicators to the Frontend Gradebook whenever it is pulling in additional data
  • Gradebooks will now sort to the first listed User Column by default
  • Adds PHP and WordPress minimum versions to readme.txt


  • Fixes issue with fallback to a previously saved "Safe Mode" setting
  • Improves updater code


  • IMPORTANT: LearnDash Gradebook now requires LearnDash version 3.4 or above
  • Renames "Gradebook Safe Mode" to "Disable Sorting by Grades for the Backend Gradebook" as that is what it was doing.
    • This can be forcibly enabled by adding define( 'LD_GB_DISABLE_SORTING_BY_GRADES_BACKEND', true ); to your wp-config.php file.
    • If you already had this enabled as "Gradebook Safe Mode" before this update, it will stay enabled properly after you update.
  • Adds a fix for sites with a lot of Groups with many Students where Admins were unable to access the dashboard. This is the new "Non-Group Leaders only have their own Group Users in their Gradebook" Setting under LearnDash LMS -> Gradebook -> Settings.
    • This can be forcibly enabled by adding define( 'LD_GB_NON_GROUP_LEADERS_ONLY_OWN_GROUP_USERS', true ); to your wp-config.php file.
    • Note: This will prevent any Users (Including Admins) from viewing Students in the Gradebook that do not belong to a Group that they are a Group Leader of.
  • Replaces deprecated calls to lesson_hasassignments() with learndash_lesson_hasassignments()
  • Makes some adjustments to how templates are loaded in the Frontend Gradebook so that any fatal PHP errors will be shown as an error box
    • Further details about these errors will show within the JavaScript console in your browser.
  • Fixes an issue where an empty color could be stored for the Grade Color Scale, which caused a PHP fatal error when viewing the Frontend Gradebook
  • Fixes an issue where a Letter Grade Scale that was set to "0" would not display on the Settings Page
  • Fixes an error on the welcome page


  • Fixes syntax issue in Quick Start Tutorial


  • Fixes issue with Quick Start Tutorial


  • Fixes a bug where the User Email would get read incorrectly for the Gradebook
  • Adds an option to show both Percentage and Letter Grade in the Gradebook at once
  • Frontend Gradebook: The first column and the top row are now fixed in place as you scroll. This is helpful in scenarios where you have a lot of Components in a Gradebook


  • Fixes a PHP syntax error when no Grade Style settings were saved


  • Fixes an issue with the Backend Gradebook Exports if more than one page of Students exists
  • Removes the empty lines from the All Grades Exports
  • Fixes a PHP 7.1+ incompatibility if you were to delete all Grade Styles
  • Fixes incompatibilities with WisdmLab’s Instructor Role plugin
  • Adds the ld_gb_get_gradebook_get_users_args_override Filter


  • Fixes a bug with the "Export All Gradebook Grades" button in the Backend Gradebook
  • Adds the ld_gb_backend_gradebook_export_per_page Filter


  • A Frontend Gradebook has been included!
  • The ability to export Grades to CSV has been added!
    • You can export all Component Grades (the Grades as shown in the main Gradebook view) as well as export all Grades for each Student
  • Adds the ability to sort by First Name, Last Name, Email Address, and User Login in addition to the previously used Display Name.
    • This option can be found under LearnDash LMS -> Gradebook -> Settings
  • Fixes issue where the Letter Grade Scale and Color were not pulled in correctly in WordPress 5.5.x
    • Requires a database update!
  • Fixes an issue where some Students were not showing in the Gradebook when they should have been
  • Fixes an issue where Assignmetns wouldn’t show properly within a User Grade when they were not approved or completed yet
  • Fixes an issue where a site has Groups but a Group Leader is viewing the Gradebook without having Groups assigned to them caused the Gradebook to show them all Students
  • Fixes an issue where Group Leaders and potentially other User Roles were unable to save Components and other Gradebook settings
  • Fixes an issue where a Student had not taken any Quizzes yet and the Gradebook Completion Grading Mode was set to "Fail until completion" or "Mark as Incomplete until completion", it would not mark the relevant Quizzes as failed/incomplete correctly
  • Fixes an issue where the Report Card Shortcode wouldn’t respect the "Grade Display Mode" setting
    • This updated the following Report Card template files:
    • report-card/report-card.php
    • report-card/component/component.php
    • report-card/component/grade.php
    • report-card/overall-grade.php
  • Fixes an issue with displaying the Groups dropdown in the Dashboard Widget
  • Prevents a possible issue when pulling saved options
  • Removes PHP deprecation warning for ternary else-if format


  • Add option to mark Assignments/Quizzes as incomplete until completion
  • Fix for removing Component Grade overrides
  • If a Course is chosen for a Gradebook, ensure that Quiz Grades that are grabbed are only for that Course. This is important if a Quiz is shared across multiple Courses.
  • If a User Role can see the Gradebook but cannot create their own Gradebooks, ensure that they do not see the "Create Gradebook" button if no Gradebooks are found.


  • Adds a Completion timestamp to the Quiz Grades within Components. This is a developer-centric change for those who may be using the ld_gb_get_user_grade Filter


  • Adds the Overall Grade Shortcode. This can be a useful utility in LearnDash Certificates.
    • Usage: [ld_overall_grade gradebook=123]
  • Fixes a potential issue when using the ld_gb_adminpage_gradebook_select_query_args filter to ensure that the default Gradebook will always be the first one in the Select dropdown
  • If a Quiz was manually marked as "Complete" from the User Edit screen, LearnDash Gradebook will now show a 0% for that Quiz instead of hitting an error


  • Fixes bug when using [ld_report_card] with no Gradebook set


  • Adds Gradebook ID to ld_gb_gradebook_data Filter
  • Adds ld_gb_gradebook_list_table_grade_display Filter
  • Adds ld_gb_get_user_grade Filter which allows overriding the returned value of ld_gb_get_user_grade() before anything is processed


  • The ld_gb_adminpage_gradebook_select_query_args filter was placed on the incorrect query. This will now do what is expected of it.


  • Now respects the Custom Labels given to LearnDash Content Types in its Settings
  • Assignment Lesson/Topic fields now will only show results for Assignments that have Assignment Uploads enabled
  • If Lessons or Topics are chosen to pull Assignment Grades for and the Gradebook has “Fail until completion” enabled, then a failing score of 0% will be shown for every Assignment that a Student has not submitted
    • Note: These will show below other Assignments in their User Grades and in the Report Card regardless of your Component Ordering settings.
  • If an Assignment has been submitted but not approved, then it will show “Pending Approval” in their User Grades and within the Report Card and not count toward or against the Student.
  • If [ld_report_card] is used without a gradebook defined, it will attempt to output all relevant Gradebooks for that Student.
    • To help facilitate this, the Gradebook ID needed to be passed into each Report Card template. This means that if you are overriding any Report Card template files in your Theme, they will require updating.
    • These changes only impact if you’re showing multiple Report Cards on the same page.
  • Added the ld_gb_adminpage_gradebook_select_query_args filter to allow adjusting the Query Args for the Gradebooks shown in the Gradebooks dropdown on the primary Gradebook admin page.
  • Added the learndash_gradebook_delete_manual_grade() and learndash_gradebook_update_manual_grade() functions to make interacting with Manual Grades programmatically easier.
  • Added the learndash_gradebook_manual_grade_default_score filter so that a default score for Manual Grades on the User Grades screen can be defined. This does not impact using the functions listed above.


  • Fixes an issue where when choosing a Group, it was possible for the Gradebook to show all Users if no Users within the Group had started the Course yet.
  • Add ability to disable Manual Grades
  • Add ability to disable Component grade Overrides
  • Fixes issue where using a non-existing Gradebook with the Report Card Shortcode would cause a Fatal Error
  • Fixes an issue where sometimes elements could be missing from the Gradebook/Report Card
  • Adds the ability to show the containing Lesson/Topic title for Assignment entries in the Gradebook/Report Card rather than the uploaded file name.
  • The Report Card template file at templates/report-card/report-card-error.php has been updated. If any Themes are overriding this file, they will need to update it.


  • Fixes issue where when a User was granted the ability to view or create/edit Gradebooks, they were unable to within LearnDash v3.x
  • Fixes an issue where if a User did not dismiss the Quickstart Guide they were unable to utilize any aspects of the Gradebook
  • If a website had a lot of Course Content, it was possible that when creating a new Gradebook the page would fail to load. The default Course is no longer set to "All Courses" to avoid this. For sites where this is an issue, they will be unable to use "All Courses" at this time.
  • Fixes some styling with the Gradebook and Report Card shortcode
  • The Report Card template file at templates/report-card/report-card.php has been updated. If any Themes are overriding this file, they will need to update it.


  • Fixes incompatibility with Gravity Forms Advanced Post Creation when attempting to create a Post Creation Feed


  • Fixes an issue where Gradebooks of Courses where no User had started the Course yet would show all Users even when the "Show All Users" option was disabled


  • Fixes issues with loading resources on Windows Servers


  • Prevents a possible PHP error when using the [ld_report_card] shortcode
  • Corrects a PHP warning when using the [ld_report_card] shortcode


  • Fixes incompatibility with Download Manager Pro


  • Fixes incompatibility with WisdmLabs’ Instructor Role Plugin causing data to not populate in the Gradebook or User Grade views.


  • Gradebooks can now have their Author changed via the Edit screen or the Quick Edit dialog. This is useful if you’ve granted other Roles the ability to Edit Gradebooks, but you want to create one for them and "assign" it to them afterward.


  • You can now grant any User Role the ability to Create their own Gradebooks. This can be found under LearnDash LMS -> Gradebook -> Settings -> Roles.
  • Fix: Minimum LearnDash version now set to v2.3.0.
  • Fix: Minimum WordPress version now set to v4.8.0.


  • Fix: Fixes stying bug when Grade Display Mode is set to "Percentage"
  • Fix: Quiz grades were not showing as failed if the "Fail until completion" setting was checked in the Gradebook Settings.


  • Fix: Bug in upgrade routine that caused Gradebook to think the last upgrade preformed was one for v2.0.0
  • Fix: Adiminstrators are now able to edit Gradebooks made by other Users (Database Upgrade Required)
  • Added a hierarchy context for each item when Editing a Gradebook
    • Example: Lesson 2 -> Topic 3 -> Quiz 4
    • This is helpful if you have multiple different Topics or Quizzes with the same name so that they can be visually differentiated from each other when configuring a Gradebook


  • Fix: Components sometimes lost their ID’s, not allowing weights to be set properly.


  • Fix: Unable to edit others gradebooks on multisite if not super-admin.


  • Fix: Gradebook safemode not loading users.
  • Fix: Edge case narrow dropdown for group selector on Gradebook page.
  • Fix: Unable to edit user component grade overrides.
  • Add ability to manually setup roles.


  • Fix: Upgrade RBM FH to prevent Select2 conflict.
  • Fix: Broken capability


  • Fix: Gradebook not showing pagination.


  • Fix: Gradebook only showing 10 users.


  • Feature: Grade display mode. Allows displaying grades as percentages.
  • Feature: Report Card resource ordering. Allows customization of ordering of resources on Report Card.
  • Feature: Assignments from Topics. Allows adding assignments from topics on Gradebook, similar to assignments form lessons.
  • Improvement: Better select box for group selector on Gradebook page.


  • Fix assignments not populating dropdown on Gradebook edit page.
  • (Version 101 due to error)


  • Report Card shortcode user logged out message.


  • Fix broken setting for Grade Color Scale.


  • Fix "All Quizzes" in Gradebook with new LearnDash Course Builder.


  • Fix "disappearing" options in components within Gradebook manaagement.


  • Allow Group Leaders (or anyone with the "view_gradebook" capability) to view and edit user grades.
  • Fix incompatibility with the new Shared Course Steps feature.


  • Fix some PHP notices


  • Fix pre PHP 7 conflict


  • Gradebook safemode fix
  • Gradebook page hide users verbiage update
  • Pre PHP 7 conflict fix


  • Filter users in Gradebooks based on Course enrollment
  • Modify upgrade process


  • Potential bug with upgrade process


  • Multiple Gradebooks
  • Premium support
  • Assignment points integration


  • Allow Group Leaders to assign Gradebook Types to Assignments and Quizzes.


  • Fix new "Gradebook Safe Mode" loading bug.


  • Improve user searching in Gradebook.
  • Add "Gradebook Safe Mode" for faster loading on sites with large databases.


  • Fix Group Leader edit assignment grade bug.


  • Fix translatable string in Report Card


  • Require min LearnDash version of 2.1.0


  • Fix infinite quickstart loop


  • LearnDash groups support
  • New settings page structure and improved settings API
  • New report card templating system
  • Gradebook role access customization
  • Gradebook Type grade override capability
  • Gradebook searching and sorting
  • Improved Gradebook styles
  • Gradebook Type grade information tool tip
  • Gradebook dashboard widget
  • Customizeable grade rounding
  • Fix radio select bug


  • Fix obtrusive settings page styling.


  • Fix broken admin Gradebook pagination.


  • Quickstart can be cutoff on tall admin menus.


  • Revise user edit screen Gradebook interface.
  • Grade Statuses.
  • Add indicators to the Types page to see what each Type is currently being used by.
  • Move licensing to the Gradebook Settings page.
  • Bug fixes.


  • Initial release.