Last active
March 23, 2018 19:46
-
-
Save pasadamedia/c18d5cd135ddb5085ed0 to your computer and use it in GitHub Desktop.
Display WooThemes Sensei comments and messages in a Genesis framework child theme. Insert in your child theme's functions.php file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Remove Sensei comments output and replace with comments done the Genesis way. | |
* | |
* @notes Extends the WooThemes_Sensei_Frontend class. | |
* | |
*/ | |
if (class_exists('WooThemes_Sensei_Frontend')) { | |
remove_action( 'sensei_comments', array( $woothemes_sensei->frontend, 'sensei_output_comments' ), 10 ); | |
add_action( 'sensei_comments', array( 'WooThemes_Sensei_Frontend_Comments', 'pasada_sensei_output_comments' ), 10 ); | |
class WooThemes_Sensei_Frontend_Comments extends WooThemes_Sensei_Frontend | |
{ | |
function pasada_sensei_output_comments() | |
{ | |
global $woothemes_sensei, $view_lesson, $user_taking_course; | |
$allow_comments = $woothemes_sensei->settings->settings['lesson_comments']; | |
if ( is_user_logged_in() && $allow_comments && ( isset( $view_lesson ) && $view_lesson ) && ( isset( $user_taking_course ) && $user_taking_course )) { | |
genesis_get_comments_template(); | |
} elseif ( is_singular( 'sensei_message' ) ) { | |
genesis_get_comments_template(); | |
} | |
} | |
} | |
} |
Add the following to your functions.php
file:
remove_action( 'sensei_pagination', array( 'Sensei_Lesson', 'output_comments' ), 90 );
add_action( 'sensei_pagination', function() {
$course_id = Sensei()->lesson->get_course_id( get_the_ID() );
$allow_comments = Sensei()->settings->settings[ 'lesson_comments' ];
$user_taking_course = Sensei_Utils::user_started_course($course_id );
$lesson_allow_comments = $allow_comments && $user_taking_course;
if ( $lesson_allow_comments || is_singular( 'sensei_message' ) ) {
comments_template( '', true );
}
}, 90 );
The problem is Genesis requires comments to be separated into comment, ping, and trackback groups. The way Sensei outputs comments is by using the output_comments
function, and then calling comments_template()
. I removed the default way Sensei outputs comments, and wrote comments_template( '', true )
to make it compatible with Genesis.
Thank you! That's works perfectly. Interesting your comment about how Genesis requires comments.
See you!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi, I see that there are not response here for long time. I have the same problem with the comments. I'm using Genesis Framework and Woothemes Sensei 1.9.19. For now is not working anymore the comments. Any solution for that?