1. Home
  2. Docs
  3. LearnDash Addons
  4. LearnDash Course Import/E...
  5. Template Guide

Template Guide

The LearnDash Course Import/Export add-on uses a standard template to import and export courses, lessons, and topics. When exporting a course, its content is added to the corresponding fields on the spreadsheet file. Likewise, on import, the template should be filled with the necessary course content and settings, in the order and form outlined below:

“Course” Sheet

  1. Type

The first column on the “Course” sheet is the “Type” column. This column is used to specify the type of content being imported. Content types options include: course, lesson, and topic. 

In this sheet, this field should be set to “course”.

  1. Course ID

This field will show the course ID when you export any course.

  1. Category

Here you can add the categories of the course, i.e, in the example.

  • Category A, Category A > Category B 

Category A is the parent & Category B is the child while Category A > Category B shows their relation.

  1. Tag

Here you can add a single or multiple tags for your course. You can separate multiple tags by using commas.

  1. Title

This column holds the title of the course.

  1. Content

This column contains the content featured in the course description page. 

Images, videos and text can be included in the content using HTML tags. To do so, use <img> for the images, <p> for text  and <video> and for the videos. 

  1. Course Image

Here you can add the featured image of the course. Simply add the link of the featured image in this column.

  1. Course Sections

Enter the course section-related information. Section attributes include the following:

a) order
It is a number. It starts with 0 (as the section at the very top). Numbers starting from 1 onwards come below it.

b) ID
It is a 13-digit unique number.

c) post_title
It is the section name of the respective section and is in text format.

d) url
It is the URL of the respective section page, but since sections do not have an individual page, it should always be left as “Empty text”.

e) edit_link
It is the URL of the edit page of the respective section, but since sections do not have an individual page, it should always be left as “Empty text”.

f) tree
It is an array (List of file/folder paths, or filename). Since sections in LearnDash don’t have any page/template files, it should always be left as “Empty Array”.

g) expanded
It tells if the section has sub-sections or not, but since LearnDash does not have subsections, it should always be set to “false”.

h) type
It is the post type. It should always be set to “section-heading”.

Format (Single):
[{“order”:0,”ID”:1682519285317,”post_title”:”SECTION 1″,”url”:””,”edit_link”:””,”tree”:[],”expanded”:false,”type”:”section-heading”}]

Format (Multiple):
[{“order”:0,”ID”:1682519285317,”post_title”:”SECTION 1″,”url”:””,”edit_link”:””,”tree”:[],”expanded”:false,”type”:”section-heading”},{“order”:2,”ID”:1704272045978,”post_title”:”SECTION 2″,”url”:””,”edit_link”:””,”tree”:[],”expanded”:false,”type”:”section-heading”}]

  1. Course materials enabled

To enable the “Course Materials” toggle, add “On” in the field. Otherwise, leave the cell empty.

  1. Course materials

Supporting materials for the course can be added as plain text or HTML.

  1. Course trial price

For the recurring Access Type, enter the price for the trial period of the Course. It is used to provide the “Recurring > Course Trial Price” option.

  1. Course trial duration t1

It is used to provide the “Recurring > Trial Duration (2nd option)” option. For the recurring Access Type, enter the period for the trial of the Course, i.e., D for days, W for weeks, M for months, or Y for years.

  1. Course trial duration p1

It is used to provide the “Recurring > Trial Duration (1st option)” option. For the recurring Access Type, enter the duration for the trial period of the Course. 

  1. Course price type

Here, add the course price type, e.g., open (Open), free (Free), paynow (Buy now), subscribe (Recurring), closed (Closed), etc. It is used to select the “Enrollment Mode” option.

  1. Course price type paynow price

For the buy now Access Type, enter the course price.

  1. Course price type paynow enrollment url

For the buy now Access Type, enter the URL of the page you want to redirect your 

enrollees after signing up for the specific course. It is used to provide the “Buy now > Course Enrollment URL” option.

  1. Course price billing cycle

Set the number of course price billing cycles to a specific number.

  1. Course no of cycles

Set the number of course cycles to number. It is used to provide the “Recurring > Recurring Times” option.

  1. Course price

Set the course price in numbers. It is used to provide the “Buy now > Course Price”, “Recurring > Course Price”, and “Closed > Course Price” options.

  1. Course price type subscribe billing cycle

For the recurring Access Type, enter the billing period i.e., D for days, W for weeks, M for months, or Y for years.

  1. Course price type subscribe billing recurring times

For the recurring Access Type, set the times for which the billing cycle repeats.

  1. Course price type subscribe price

For the recurring Access Type, set the course price.

  1. Course price type subscribe enrollment url

For the recurring Access Type, enter the URL of the page you want to redirect your enrollees to after signing up for the specific course. It is used to provide the “Recurring > Course Enrollment URL” option.

  1. Course price billing t3

For the recurring Access Type, enter the billing period, i.e., D for days, W for weeks, M for months, or Y for years. It is used to provide the “Recurring > Billing Cycle (1st option)” option.

  1. Course price billing p3

For the recurring Access Type, enter the duration for the billing. It is used to provide the “Recurring > Billing Cycle (1st option)” option.

  1. Course price type closed custom button label

Here you can add a button label.

  1. Course price type closed custom button url

For the closed Access Type, enter the “Take this course” button URL.

  1. Course price type closed price

For the closed Access Type, set the course price.

  1.  Requirements for enrollment

To select the “None” option of “Requirements for Enrollment”, keep the cell empty. Similarly, to select the “Prerequisite Courses” option, add “course_prerequisite_enabled”. Similarly, to select the “Course Points” option, add “course_points_enabled”. 

  1. Course prerequisite enabled

To enable the course prerequisite, add “on” in this field. It is used to select the “Requirements for Enrollment > Prerequisite Courses” option.

  1. Course prerequisite 

Add the Course “Title” of single or multiple course prerequisite(s) separated by a comma. It is used to select the “Requirements for Enrollment > Prerequisite Courses > Courses to Complete” option.

  1. Course prerequisite compare

In this field, to select “Any Selected” option, add “ANY”, or to select “All Selected” option, add “ALL”. It is used to select the “Requirements for Enrollment > Prerequisite Courses > Compare Mode” options.

  1. Course points enabled

To enable the course points, add “on” in this field. It is used to select the “Requirements for Enrollment > Course Points” option.

  1. Course points

Add points in this field. It is used to provide the “Course Completion Points” option.

  1. Course points access

Add the points required to access the course. It is used to provide the “Requirements for Enrollment > Course Points > Required for Access” option.

  1. Expire access

To enable the “Course Access Expiration” option toggle, add “on” in this field. It is used to select the “Course Access Expiration” option. Otherwise, leave it empty.

  1. Expire access days

Set the number of days a user will have access to the course from the enrollment date. It is used to provide the “Course Access Expiration > Access Period” option.

  1. Expire access delete progress

Set this field to “on” to delete the user’s course and quiz data when the course access expires. It is used to provide the “Course Access Expiration > Data Deletion” option. Otherwise, leave the field empty. 

  1. Certificate

To add the certificate, add its ID.

  1. Exam challenge

To add exam challenge, add its ID.

  1. Course disable lesson progression

If you want to set the “Course Progression” to “Free Form”, add “on” in this column. Otherwise, for “Linear” Course Progression, leave the column empty. It is used to select either the “Course Progression > Linear” or “Course Progression > Free form” option.

  1. Course disable content table

If you want to set the “Course Content” to “Only visible to enrollees”, add “on” in this column. Otherwise, to set “Always Visible”, leave the column empty. It is used to select either the “Course Content > Always visible” or “Course Content > Only visible to enrollees” option.

  1. Course lesson per page

If you want the “Custom Pagination” option toggle to be enabled, add “CUSTOM” in this column. Otherwise, leave it empty.

  1. Course lesson per page custom

Set the number of lessons that should appear per page. It is used to select the “Custom Pagination > Lessons” option.

  1. Course topic per page custom

Set the number of topics that should appear per page. It is used to select the “Custom Pagination > Topics” option.

  1. Course start date

Set the course start date in epoch/Unix timestamp (in numbers). It is used to provide the “Start Date” option.

  1. Course end date

Set the course end date in epoch/Unix timestamp (in numbers). It is used to provide the “End Date” option.

  1. Course seats limit

Set the Number of seats available for the students to be enrolled in. It is used to provide the “Student Limit” option.

“Lessons” Sheet

  1. Type

The first column on the “Lesson” sheet is the “Type” column. This column is used to specify the type of content being imported. Content types options include: course, lesson, and topic. 

In this sheet, this field should be set to “lesson”.

  1. Lesson ID

This field will show the lesson ID when you export any lesson.

  1. Category

Here you can add the categories of the lesson, i.e, in the example.

  • Category E, Category E > Category F 

Category E is the parent & Category F is the child, while Category E > Category F shows their relation.

  1. Tag

Here you can add a single or multiple tags for your lesson. Multiple tags can be separated by using commas.

  1. Title

This column holds the title of the lesson.

  1. Content

This column contains the lesson’s content.

Images, videos, and text can be included in the content using HTML tags. To do so, use <img> for the images, <p> for text, and <video> for the videos. 

  1. lesson Image

Here you can add the featured image of the lesson. Simply add the link of the featured image in this column.

  1. Course 

This column represents the course to which this lesson is attached.

  1. Shared Course

Add the shared course title.

  1. Forced lesson time 

It is used to provide the time in seconds until that has passed; the lesson can not be marked as completed.

  1. Lesson assignment points amount

Here, you can set the lesson assignment points. If you want to set the “Assignment Uploads > Points ( available point(s) )” option, then add the total assignment points in this field. Otherwise, leave it empty.

  1. Visible after

Here you can set the “Enrollment-based” lesson schedule. All you have to do is add the number of days after that the lesson will be available. It is used to provide the “Lesson Release Schedule > Enrollment-based (Days)” option.

  1. Visible after specific date

Date can be added as a TimeStamp, and to convert a date to a timestamp, you can use https://www.epochconverter.com/. It is used to provide the “Lesson Release Schedule > Specific date (Date)” option.

  1. Lesson materials enabled

To enable the “Lesson Materials” toggle, add “on” in this field. Otherwise, leave this field empty.

  1. Lesson materials

Supporting materials for the lesson can be added as plain text or HTML.

  1. Lesson video enabled

If you want to enable the “Video Progression” toggle option, then add “on” in the field. Otherwise, leave this field empty.

  1. Lesson video url

If you want to provide the “Video Progression > Video URL” option, then add the URL of the video in the field. Otherwise, leave this field empty.

  1. Lesson video shown

If you want to select the “Before completed sub-steps” option, then add “Before” in the field, or to select the “After completing sub-steps” option, add “After” in the field. It is used to select one of the “Video Progression > Display Timing” options. Otherwise, leave this field empty.

  1. Lesson video auto start

If you want to enable the “Video Progression > Autostart” toggle option, then add “on” here. Otherwise, leave this field empty.

  1. Lesson video show controls

If you want to enable the “Video Progression > Video Controls Display” toggle option, then add “on” in the field. Otherwise, leave this field empty.

  1. Lesson video auto complete

If you want to enable the “Video Progression > Display Timing > After completing sub-steps > Lesson auto-completion” option toggle, then add “on” in this field. Otherwise, leave it empty.

  1. Lesson video auto complete delay

Here you can set the video auto complete delay in numbers in seconds. If you want to provide the “Video Progression > Display Timing > After completing sub-steps > Completion delay (seconds)” option, then provide completion delay in seconds. Otherwise, leave it empty.

  1. Lesson video show complete button

If you want to enable the “Video Progression > Display Timing > After completing sub-steps > Mark Complete Button” option toggle, then add “on” in this field. Otherwise, leave it empty.

  1. Lesson assignment upload

If you want to enable the “Assignment Uploads” toggle option, then add “on” in this field. Otherwise, leave it empty.

  1. Assignment upload limit extensions

Add a file extension if you want to limit assignment upload in a specific format. Otherwise, leave empty if all file extensions are accepted. You can also provide multiple acceptable file formats using a comma.

  1. Assignment upload limit size

Here you can set the assignment file uploading limit, i.e., 20M. You can use it if you want to provide the “Assignment Uploads > File Size Limit” option.

  1. Lesson assignment points enabled

If you want to enable the “Assignment Uploads > Points” toggle option, then add “on” in this field. Otherwise, leave it empty.

  1. Assignment upload limit count

Set the number, to limit the number of uploaded assignment files. If you want to set the “Assignment Uploads > Grading Type > Manually grade > Limit number of uploaded files” option, then set “the total number of files allowed” in this field. Otherwise, leave it empty.

  1. Lesson assignment deletion enabled

If you want to allow file deletion or enable the “Assignment Uploads > Grading Type > Manually grade > Allow file deletion” option, then add “on” in this field. Otherwise, leave it empty.

  1. Auto approve assignment

If you want to select the “Assignment Uploads > Grading Type > Auto-approve” option, then add “on” in this field. Otherwise, leave it empty.

  1. Forced lesson time enabled

If you want to enable the “Forced Lesson Timer” toggle option, then add “on” in this field. Otherwise, leave it empty.

  1. Lesson schedule

It is used to select one of the “Lesson Release Schedule” options. If the lesson schedule is to be set to “Immediately” then leave this field empty.

If the lesson schedule is to be set to “Enrollment-based” then add “visible_after” in this field.

If the lesson schedule is to be set to “Specific date” then add “visible_after_specific_date” in this field.

  1. Sample lesson

To enable the “Sample Lesson” option toggle, add “on” in this field. Otherwise, leave it empty.

  1. Lesson video focus pause

If you want to enable the “Video Progression > Video Pause on Window Unfocused” toggle option, then add “on” in the field. Otherwise, leave this field empty.

  1. Lesson video track time

“Topics” Sheet

NOTE: Some of the columns in the TOPIC sheet have “Lesson” in the title, instead of “Topic”. You can add your topic settings in these columns, as the Title does not have any effect.

  1. Type

The first column on the “Topics” sheet is the “Type” column. This column is used to specify the type of content being imported. Content types options include: course, lesson, and topic. 

In this sheet, this field should be set to “topic”.

  1. Topic ID

This field will show the topic ID when you export any topic.

  1. Category

Here you can add the categories of the topic, i.e, in the example.

  • Category X, Category X > Category Y

Category X is the parent & Category Y is the child, while Category X > Category Y shows their relation.

  1. Tag

Here you can add a single or multiple tags for your topic. Multiple tags can be separated by using commas.

  1. Title

This column will hold the title of the topic.

  1. Content

This column contains the topic’s content.

Images, videos, and text can be included in the content using HTML tags. To do so, use <img> for the images, <p> for text, and <video> for the videos. 

  1. Topic Image

Here you can add the featured image of the topic. Simply add the link of the featured image in this column.

  1. Course 

This column represents the course to which this topic is attached.

  1. Lesson 

This column represents the lesson to which this topic is attached.

  1. Shared Course

Add the shared course title.

  1. Shared Lesson

Add the shared lesson title.

  1. Topic materials enabled

To enable the “Topic Materials” toggle, add “on” in this field. Otherwise, leave this field empty.

  1. Topic materials

Supporting materials for the topic can be added as plain text or HTML.

  1. Lesson video enabled

If you want to enable the “Video Progression” toggle option, then add “on” in the field. Otherwise, leave this field empty.

  1. Lesson video url

If you want to provide the “Video Progression > Video URL” option, then add the URL of the video in the field. Otherwise, leave this field empty.

  1. Lesson video shown

If you want to select the “Before completed sub-steps” option, then add “Before” in the field, or to select the “After completing sub-steps” option, add “After” in the field. It is used to select one of the “Video Progression > Display Timing” options. Otherwise, leave this field empty.

  1. Lesson video auto start

If you want to enable the “Video Progression > Autostart” toggle option, then add “on” here. Otherwise, leave this field empty.

  1. Lesson video show controls

If you want to enable the “Video Progression > Video Controls Display” toggle option, then add “on” in the field. Otherwise, leave this field empty.

  1. Lesson video focus pause

If you want to enable the “Video Progression > Video Pause on Window Unfocused” toggle option, then add “on” in the field. Otherwise, leave this field empty.

  1. Lesson video track time

If you want to enable the “Video Progression > Video Resume” toggle option, then add “on” in the field. Otherwise, leave this field empty.

  1. Lesson video auto complete

If you want to enable the “Video Progression > Display Timing > After completing sub-steps > Topic auto-completion” option toggle, then add “on” in this field. Otherwise, leave it empty.

  1. Lesson video auto complete delay

Here you can set the video auto complete delay in numbers in seconds. If you want to provide the “Video Progression > Display Timing > After completing sub-steps > Completion delay (seconds)” option, then provide completion delay in seconds. Otherwise, leave it empty.

  1. Lesson video show complete button

If you want to enable the “Video Progression > Display Timing > After completing sub-steps > Mark Complete Button” option toggle, then add “on” in this field. Otherwise, leave it empty.

  1. Lesson assignment upload

If you want to enable the “Assignment Uploads” toggle option, then add “on” in this field. Otherwise, leave it empty.

  1. Assignment upload limit extensions

Add a file extension if you want to limit assignment upload in a specific format. Otherwise, leave empty if all file extensions are accepted. You can also provide multiple acceptable file formats using a comma.

  1. Assignment upload limit size

Here you can set the assignment file uploading limit, i.e., 20M. You can use it if you want to provide the “Assignment Uploads > File Size Limit” option.

  1. Lesson assignment points enabled

If you want to enable the “Assignment Uploads > Points” toggle option, then add “on” in this field. Otherwise, leave it empty.

  1. Lesson assignment points amount

Here, you can set the lesson assignment points. If you want to set the “Assignment Uploads > Points ( available point(s) )” option, then add the total assignment points in this field. Otherwise, leave it empty.

  1. Assignment upload limit count

Set the number, to limit the number of uploaded assignment files. If you want to set the “Assignment Uploads > Grading Type > Manually grade > Limit number of uploaded files” option, then set “the total number of files allowed” in this field. Otherwise, leave it empty.

  1. Lesson assignment deletion enabled

If you want to allow file deletion or enable the “Assignment Uploads > Grading Type > Manually grade > Allow file deletion” option, then add “on” in this field. Otherwise, leave it empty.

  1. Auto approve assignment

If you want to select the “Assignment Uploads > Grading Type > Auto-approve” option, then add “on” in this field. Otherwise, leave it empty.

  1. Forced lesson time enabled

If you want to enable the “Forced Lesson Timer” toggle option, then add “on” in this field. Otherwise, leave it empty.

  1. Forced lesson time

It is used to provide the time in seconds until that has passed; the topic can not be marked as completed.

  1. Lesson schedule

It is used to select one of the “Topic Release Schedule” options. If the lesson schedule is to be set to “Immediately” then leave this field empty.

If the lesson schedule is to be set to “Enrollment-based” then add “visible_after” in this field.

If the lesson schedule is to be set to “Specific date” then add “visible_after_specific_date” in this field.

  1. Visible after

Here you can set the “Enrollment-based” lesson schedule. All you have to do is add the number of days after that the lesson will be available. It is used to provide the “Topic Release Schedule > Enrollment-based (Days)” option.

  1. Visible after specific date

Date can be added as a TimeStamp, and to convert a date to a timestamp, you can use https://www.epochconverter.com/. It is used to provide the “Topic Release Schedule > Specific date (Date)” option.

How can we help?