As of the 16th of December, 2018, use of LearnDash >= v2.6 is not recommended. Stay with v2.5 and the LearnDash add-on will work just fine. The newer version of LD, with its new quiz database tables, is not [yet] supported. Courses, lessons and topics can be broadcasted, but quiz support is broken. A beta version of the add-on is avaiable for brave souls that keep backups of their system.
Course broadcast order
Due to the way LearnDash components reference each other, 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.
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.