Requires Modification of LearnDash Templates
This patch is for LearnDash displayed courses, and does not work with 3rd Party Templates such as BuddyBoss Social Learner.
Filename: /wp-content/plugins/sfwd-lms/templates/course.php
Filename: /wp-content/plugins/sfwd-lms/templates/course_content_shortcode.php
Add the following code near the top of the file, after the comments.
This code walks the lesson and topics arrays provided to the template, and rebuilds them without any of the content shielded by Memberium content protection.
<?php // Start Memberium Code if ( function_exists( 'memb_hasPostAccess' ) ) { $i = array(); foreach( $lessons as $lesson ) { if ( memb_hasPostAccess( $lesson['post']->ID ) ) { $i[] = $lesson; } } $lessons = $i; unset( $i, $lesson ); $i = array(); foreach( $lesson_topics as $lesson_id => $lesson_topic ) { if ( memb_hasPostAccess( $lesson_id ) ) { foreach( $lesson_topic as $array_id => $topic ) { if ( memb_hasPostAccess( $topic->ID ) ) { $i[$lesson_id][$array_id] = $topic; } } } } $lesson_topics = $i; unset( $i, $topic, $lesson_topic ); } // End Memberium Code ?>