As of the 22nd of February, the add-on supports both major versions of LearnDash: 2.5 and 2.6+. The newer version has weird[er] quiz and question data storage (custom post type and extra SQL table), which the add-on handles transparently.
If the quizzes on the child blog are missing their questions, open the quiz on the parent blog for editing. This will make LearnDash automatically create the question custom fields required for the questions to be broadcasted together with the quiz.
Course builder items in wrong order
After broadcasting, are the lessons, topics and quizzes in the wrong order on the child blog? Ensure that the shared program steps setting is enabled.
Shared program steps setting must be on
Course broadcast order
Due to the way LearnDash components reference each other, if you want to broadcast the whole post manually, you will need to broadcast and rebroadcast things so that they can find each other on the child blog. The best way to broadcast a course via components is:
- The prerequisite course, if any.
- The course itself.
- The certificate.
- The course again.
If the above is too complicated, the above can be accomplished using the course broadcast tool in the menu.
Question Search & Replace
The add-on allows for text in questions and answers to be replaced. The process works as follows:
- In the text to replace tab you specify what text to replace. The select box allows you to replace the text in the questions and / or the answers.
- If you only which specific questions to be replaced and not, say, all questions that contain the text “well”, fill in this tab.
- If you have this quiz broadcasted to other blogs, the child blogs can be automatically updated after the text is replaced.
- The top button only searches for the text. This can be a small preview of your changes, so you can check whether the correct questions and answers are modified.
- The buttom button does the actual replacing and optional rebroadcasting.
Blacklist / whitelist / protect course settings
If you have different course settings (prices, materials, etc) on each blog that you would like protected, put the name of the setting into the respective Broadcast custom field list, add this snippet that enables processing of arrays in custom fields, and then broadcast the course again.
For example, if your course has different course materials on each blog, and you don’t want that setting overwritten, add sfwd-courses_course_materials into the custom field protect list and enable the above snippet.
Upon activation, the add-on will automatically raise Broadcast’s save_post action priority to a value higher than LearnDash’s (2000).
Enrollments to courses on child blogs are retained when rebroadcasting the parent course – thus preventing the users on the child blog from being unenrolled from the course.
Syncing course completion between broadcasted courses is not possible due to how LearnDash is built: it stores the completion data in the user’s meta data, using the course ID as the identifier, which will conflict between blogs. LearnDash’s network-unaware way of handling course completion data will cause conflicts with things like certificate generation if users have access to courses on more than one blog.
For the same reason as the above, groups cannot be synced between blogs either.
Ensure that your quiz names are unique for the whole site. If not, the incorrect questions will be assigned to quizzes.
Version 2.5, 2.6, 3.0, 3.1.