With the LearnDash Document Library add-on, you can seamlessly manage and display your LearnDash documents with intuitive ease, enhancing both organization and accessibility.
In this article, you’ll learn how to set up the LearnDash Document Library add-on.
Video Tutorial
Watch the tutorial video below for a quick walkthrough of the add-on’s features and setup process.
For detailed instructions, please continue reading the full documentation. If you still have any questions, feel free to submit a support ticket.
Installation
- Install the Learndash Document Library add-on & activate it.
- After activation, a new menu “LearnDash Documents” will be added.

License
License keys can be found in the email received when you purchased the add-on. To activate your license, place your license key in the License Key field and click on Activate.

Categories
This sub-menu will become available when the “Enable Categories Filter” option in the “General” tab is checked. Reload the page if you do not see the new sub-menu added. To create a new category for the documents, navigate to the “LearnDash Documents” menu and then click on the “Categories” sub-menu.
Add the Name of the Category, its slug, its Parent Category (if there is one), attach any documents (already created), and its description. Finally, click the “Add Category” button.
Also, if the “Enable Categories Restriction” option is checked, then 2 more fields will also become visible (“Category Password” and “Allowed User Roles”) on the Categories page and Category edit page.

Tags
This sub-menu will become available when the “Enable Categories Filter” option in the “General” tab is checked. Reload the page if you do not see the new sub-menu added. To create a new tag for the documents, navigate to the “LearnDash Documents” menu and then click on the “Tags” sub-menu.
Add the Name of the Tag, its slug, and its description. Finally, click the “Add Tag” button.

Libraries
To create a new library for the documents, navigate to the “LearnDash Documents” menu and then click on the “Libraries” sub-menu.
Add the Name of the Library, its slug, its Parent Library (if there is one), attach any documents (already created), and its description. Finally, click the “Add New Library” button.
Also, if the “Enable Libraries Restriction” option is checked, then 2 more fields will also become visible (“Library Password” and “Allowed User Roles”) on the Document Libraries page and Library edit page.

Library Tags
To create a new library tag for the documents, navigate to the “LearnDash Documents” menu and then click on the “Library Tags” sub-menu.
Add the Name of the Library Tag, its slug, and its description. Finally, click the “Add New Tag” button.

Add New Documents
To add a new document, navigate to the “LearnDash Documents” menu and then click on its “Add New” sub-menu.
Here add the Title, description, libraries, tags, and document image. From the Document Upload meta box, upload the file (File Upload) or if it is already uploaded then you can select it from the media library (Select from Library) or enter its URL (URL). Once done, click on publish.




All Documents
Navigate to the “LearnDash Documents” menu and then click on its “All Documents” sub-menu. Here you will see all the documents you have added.

Settings
General
Here you can change the general settings.


Default Libraries Layout
You can choose the default layout style for document libraries.
Visible Columns in Selected Layout
You can choose to hide specific columns from the selected layout by unchecking their respective checkboxes.
Note: All disabled columns are not visible in grid view, regardless of whether they are checked or not.
Enable Libraries Restriction
You can choose to enable restrictions on libraries.
- If checked, then the “Library Password” and “Allowed User Roles” restrictions will be applied on the “Learndash Document Shortcode #2” shortcode with “libraries” attribute, and also show on the “Edit Library” page. You can view the password by clicking on the “Eye” Icon.
- If unchecked, the “Library Password” and “Allowed User Roles” restrictions will not be applied on the “Learndash Document Shortcode #2” shortcode with “libraries” attribute, and also will not show on the “Edit Library” page.
Also, When it is enabled, the “Learndash Document Shortcode #2” shortcode with “categories” attribute will not work on the frontend.
Similarly, when the “Enable Categories Filter” option is enabled, the “Learndash Document Shortcode #2” shortcode with “libraries” attribute will not work on the frontend. At one time only one of the following settings can be used:
- “Categories” and “Tags”
- “Libraries” and “Library Tags”.
Note: Switching between the 2 options “Enable Libraries Restriction” and “Enable Categories Filter” will reset the following option fields:
- Global Password (In the “General” tab)
- Global Allowed User Role (In the “General” tab)
- Select Document Libraries / Select Document Categories (In the Group/Course settings tab)



Enable Categories Filter
You can choose to enable the categories filter in the document library.
- If checked, then the “Categories” and “Tags” sub-menus will appear in the addon’s menu, and their respective filters will start working on the “Learndash Document Shortcode #2” shortcode and the “Learndash Document Shortcode #2” shortcode with the “categories” attribute. Also, on the group/course settings tab, the “Select Document Categories” option will become available.
- If disabled, then by default the “Learndash Document Shortcode #2” shortcode and the “Learndash Document Shortcode #2” shortcode with “libraries” attribute will work with the “Libraries” and “Library Tags” settings. Also, on the group/course settings tab, the “Select Document Categories” option will disappear, and the “Select Document Libraries” option will appear (By Default).
Note: The “Uncategorized” category option will not appear in the filter option on the frontend of any course page, group page, “Learndash Document Shortcode #2” shortcode with “categories” attribute and “Learndash Document Shortcode #2” shortcode without “categories” attribute.
Enable Categories Restriction
You can choose to enable restrictions on categories. If enabled then the “Library Password” (for categories) and “Allowed User Roles” restrictions will be applied on the “Learndash Document Shortcode #2” shortcode with “categories” attribute and also show on the “Edit Category” page. You can view the password by clicking on the “Eye” Icon.
If disabled then the “Library Password” (for categories) and “Allowed User Roles” restrictions will not be applied on the “Learndash Document Shortcode #2” shortcode with “categories” attribute and also not show on the “Edit Category” page.



Enable Libraries Upload
You can choose to enable libraries upload from the frontend.
- If enabled, then the “Learndash Libraries Upload” shortcode will show in the “Shortcodes” tab and will work on any frontend page (placed on) for all user roles.
- If disabled then the “Learndash Libraries Upload” shortcode will not show in the “Shortcodes” tab and will not work on any frontend page (placed on) for all user roles.
Global Password
You can set a global password for document library access (optional). If this text field is filled then this password restriction will be applied on the “Learndash Document Shortcode #2” shortcode without “libraries/categories” attribute ([ldl_libraries]). You can view the password by clicking on the “Eye” Icon.
If this text field is empty then this password restriction will not be applied on the “Learndash Document Shortcode #2” shortcode without “libraries/categories” attribute ([ldl_libraries]).
Note: “Global Password” and “Global Allowed User Role” fields will only show and work when one of the 2 options “Enable Libraries Restriction” or “Enable Categories Restriction” are checked.

Global Allowed User Role
You can select the user role(s) allowed to access the document library globally (optional). If a user role is selected then this user role restriction will be applied on the “Learndash Document Shortcode #2” shortcode without “libraries/categories” attribute ([ldl_libraries]) and only the user role(s) selected will be able to access the library content/documents. If the “Global Password” text field is also filled then only the selected user role(s) will be asked to enter the global password to access the library content/documents. Others will be shown the access denied pop up.
Similarly, If no user role is selected then the user role restrictions will not be applied on the “Learndash Document Shortcode #2” shortcode without “libraries/categories” attribute ([ldl_libraries]) and all the user role(s) will be able to access the library content/documents.

Shortcodes
Learndash Document Shortcode #1
Place the shortcode on the page where you want to display the list of all learndash documents, in the form of a table.

This is how the page will look on the front end:

Learndash Document Shortcode #2
Place the shortcode on the page where you want to display the learndash document libraries.

Attributes
1- layout
Select the layout in which you want to display the library(s)/category(s) you want. You can choose anyone from the 3 options (list, grid, folder). This attribute will override the default layout for the specific shortcode.
2- exclude
You can exclude whichever child library(s)/category(s) of the parent library(s)/category(s) you don’t want to include. If there are many then you can provide them separated by a comma.
3- libraries / categories
You can include whichever library(s)/category(s) you want to show to the users. If there are many then you can provide them separated by a comma.
4- search
Select whether you want the library/category to be searchable or not. The library/category is by default searchable. You can choose anyone from the 2 options (true, false)
5- limit
You can select how many document records you want to show on a single page.
Note: If you are using the folder view, then kindly note that the folder hierarchy must be kept in mind as you cannot show the child library of any parent library without including its parent library id in the “libraries” attribute. Also, the default layout of the shortcode and visible columns will be set from the “General” tab of our addon.
This is how the page will look on the front end.



Learndash Libraries Upload
This shortcode will be available when the “Enable Libraries Upload” option will be checked in the “General” tab. It allows users of any user role to create document libraries from any frontend page (placed on).

This is how the page will look on the front end.

How to show document library(s)/category(s) on a Group
Here are the steps to show the library(s)/categories on a respective group:
1- Navigate to the settings tab of the respective group and enable the “Enable Document Libraries” option.
2- Select the respective library(s) in the “Select Document Libraries” option or the respective category(s) in the “Select Document Categories” option. If nothing is selected then all the document records will be visible.
3- Select the respective user roles of the users, you want to be able to view the respective selected libraries/categories in the “Allowed User Roles” option. If nothing is selected then users of all the users roles will be able to view the selected library(s)/category(s).
Note: The default layout of the “Libraries/Categories” tab and visible columns will be set from the “General” tab of our addon.




How to show document library(s)/category(s) on a Course
Here are the steps to show the library(s)/category(s) on a respective course:
1- Navigate to the settings tab of the respective course and enable the “Enable Document Libraries” option.
2- Select the respective library(s) in the “Select Document Libraries” option or the respective category(s) in the “Select Document Categories” option. If nothing is selected then all the document records will be visible.
3- Select the respective user roles of the users, you want to be able to view the respective selected libraries/categories in the “Allowed User Roles” option. If nothing is selected then users of all the users roles will be able to view the selected library(s)/category(s).
Note: The default layout of the “Libraries/Categories” tab and visible columns will be set from the “General” tab of our addon.




FAQ’s
1- Does the “Learndash Document Library” Shortcode work on any page?
The “Learndash Document Library” Shortcode will work on any page it is placed on.
2- Does the addon support Grid view on the front end?
The addon does support the Grid view on the front end for the Learndash Document Shortcode #2.
3-Are there any filter attributes available for the Learndash Document Shortcode #2?
There are filter attributes available for the Learndash Document Shortcode #2. They are “Categories / Libraries” filters (at one time, only one will work) and the second one is “Tags / Library Tags” filters (at one time, only one will work). Also, if you are using the libraries or categories attribute in the shortcode, then the “Categories / Libraries” filter will not show as you are clearly specifying which “Categories / Libraries” you want to show.
4- Is the document feature available on any widget?
Currently, the document feature is not available on any widget.
5- Does this Add-On require any external plugin on your site to work properly?
This add-on requires the LearnDash LMS plugin to be enabled on your site. If you want to test your site locally, please make sure to enable the above-mentioned plugin on your site.
Changelogs
1.0.3
- New: Added support for private document libraries.
- New: Added support for password and user roles to restrict libraries/categories.
- New: Added frontend upload functionality for selected user roles.
- Fix: Enhanced UI/UX for access settings and document restriction workflows.
1.0.2
- New – Added option to create the document library for specific groups.
- New – Added option to create the document library for specific courses.
- New – Added option to create the document library for specific user roles.
- New – Added three layouts for the document library with runtime layout switching capabilities.
1.0.1
- New – Minor UI changes in document shortcode.
1.0.0
- Initial Release.