1: <?php
2: if ( ! defined( 'ABSPATH' ) ){ exit; }
3:
4: 5: 6:
7:
8: 9: 10: 11: 12: 13: 14:
15: function sensei_course_archive_next_link( $type = 'newcourses' ) {
16:
17: _deprecated_function('sensei_course_archive_next_link', '1.9.0','This is no longer used or required in Sensei.');
18:
19: }
20:
21: 22: 23: 24: 25: 26:
27: function course_single_lessons() {
28:
29:
30: $located_template= locate_template( Sensei()->template_url . 'single-course/course-lessons.php' );
31: if( $located_template ){
32:
33: Sensei_Templates::get_template( 'single-course/course-lessons.php' );
34: return;
35:
36: }
37:
38: Sensei_Templates::get_template( 'single-course/lessons.php' );
39:
40: }
41:
42:
43: 44: 45: 46: 47: 48:
49: function lesson_single_meta() {
50:
51: _deprecated_function('lesson_single_meta','1.9;0', 'WooThemes_Sensei_Lesson::the_lesson_meta' );
52: sensei_the_single_lesson_meta();
53:
54: }
55:
56:
57: 58: 59: 60: 61: 62: 63: 64:
65: function quiz_questions( $return = false ) {
66:
67: Sensei_Templates::get_template( 'single-quiz/quiz-questions.php' );
68:
69: }
70:
71: 72: 73: 74: 75: 76: 77: 78:
79: function quiz_question_type( $question_type = 'multiple-choice' ) {
80:
81: Sensei_Templates::get_template( 'single-quiz/question_type-' . $question_type . '.php' );
82:
83: }
84:
85: 86: 87:
88:
89: 90: 91: 92: 93: 94: 95: 96:
97: function sensei_check_prerequisite_course( $course_id ) {
98:
99: return Sensei_Course::is_prerequisite_complete( $course_id );
100:
101: }
102:
103:
104: 105: 106: 107: 108: 109: 110:
111: function sensei_start_course_form( $course_id ) {
112:
113: $prerequisite_complete = sensei_check_prerequisite_course( $course_id );
114:
115: if ( $prerequisite_complete ) {
116: ?><form method="POST" action="<?php echo esc_url( get_permalink( $course_id ) ); ?>">
117:
118: <input type="hidden" name="<?php echo esc_attr( 'woothemes_sensei_start_course_noonce' ); ?>" id="<?php echo esc_attr( 'woothemes_sensei_start_course_noonce' ); ?>" value="<?php echo esc_attr( wp_create_nonce( 'woothemes_sensei_start_course_noonce' ) ); ?>" />
119:
120: <span><input name="course_start" type="submit" class="course-start" value="<?php _e( 'Start taking this Course', 'woothemes-sensei' ); ?>"/></span>
121:
122: </form><?php
123: }
124: }
125:
126:
127: 128: 129: 130: 131: 132: 133: 134:
135: function sensei_wc_add_to_cart( $course_id ) {
136:
137: Sensei_WC::the_add_to_cart_button_html( $course_id );
138:
139: }
140:
141:
142: 143: 144: 145: 146: 147: 148:
149: function sensei_check_if_product_is_in_cart( $wc_product_id = 0 ) {
150: return Sensei_WC::is_product_in_cart( $wc_product_id );
151: }
152:
153: 154: 155: 156: 157: 158: 159:
160: function sensei_simple_course_price( $post_id ) {
161:
162: global $wp_the_query;
163:
164:
165: if ( strpos( $wp_the_query->post->post_content, 'sensei_user_courses' ) || strpos( $wp_the_query->post->post_content, 'usercourses' ) ) {
166: return;
167: }
168:
169: $wc_post_id = get_post_meta( $post_id, '_course_woocommerce_product', true );
170: if ( ! Sensei_WC::is_woocommerce_active() || empty( $wc_post_id ) || false ) {
171: return;
172: }
173:
174:
175: $product = Sensei_WC::get_product_object( $wc_post_id );
176:
177: if ( isset( $product ) && !empty( $product ) && $product->is_purchasable()
178: && $product->is_in_stock() && !sensei_check_if_product_is_in_cart( $wc_post_id ) ) { ?>
179:
180: <span class="course-price">
181: <?php echo $product->get_price_html(); ?>
182: </span>
183:
184: <?php }
185:
186: }
187:
188: 189: 190: 191: 192: 193: 194:
195: function sensei_recent_comments_widget_filter( $widget_args = array() ) {
196: if ( ! isset( $widget_args['post_type'] ) ) $widget_args['post_type'] = array( 'post', 'page' );
197: return $widget_args;
198: }
199: add_filter( 'widget_comments_args', 'sensei_recent_comments_widget_filter', 10, 1 );
200:
201: 202: 203: 204: 205: 206: 207:
208: function sensei_course_archive_filter( $query ) {
209:
210:
211: if ( ! $query->is_main_query() )
212: return;
213:
214:
215: $course_page_id = intval( Sensei()->settings->settings[ 'course_page' ] );
216:
217: if ( ! is_admin() && 0 < $course_page_id && 0 < intval( $query->get( 'page_id' ) ) && $query->get( 'page_id' ) == $course_page_id ) {
218:
219: if ( isset( Sensei()->settings->settings[ 'course_archive_amount' ] ) && ( 0 < absint( Sensei()->settings->settings[ 'course_archive_amount' ] ) ) ) {
220: $amount = absint( Sensei()->settings->settings[ 'course_archive_amount' ] );
221: } else {
222: $amount = $query->get( 'posts_per_page' );
223: }
224: $query->set( 'posts_per_page', $amount );
225: }
226: }
227: add_filter( 'pre_get_posts', 'sensei_course_archive_filter', 10, 1 );
228:
229: 230: 231: 232: 233:
234: function sensei_complete_lesson_button() {
235: do_action( 'sensei_complete_lesson_button' );
236: }
237:
238: 239: 240: 241: 242:
243: function sensei_reset_lesson_button() {
244: do_action( 'sensei_reset_lesson_button' );
245: }
246:
247: 248: 249: 250: 251: 252:
253: function sensei_get_prev_next_lessons( $lesson_id = 0 ) {
254:
255: $return_values = array();
256: $return_values['prev_lesson'] = 0;
257: $return_values['next_lesson'] = 0;
258: if ( 0 < $lesson_id ) {
259:
260: $lesson_course_id = get_post_meta( $lesson_id, '_lesson_course', true );
261: $all_lessons = array();
262:
263: $modules = Sensei()->modules->get_course_modules( intval( $lesson_course_id ) );
264:
265: if( !empty( $modules ) ){
266: foreach( (array) $modules as $module ) {
267:
268: $args = array(
269: 'post_type' => 'lesson',
270: 'post_status' => 'publish',
271: 'posts_per_page' => -1,
272: 'meta_query' => array(
273: array(
274: 'key' => '_lesson_course',
275: 'value' => intval( $lesson_course_id ),
276: 'compare' => '='
277: )
278: ),
279: 'tax_query' => array(
280: array(
281: 'taxonomy' => Sensei()->modules->taxonomy,
282: 'field' => 'id',
283: 'terms' => intval( $module->term_id )
284: )
285: ),
286: 'meta_key' => '_order_module_' . $module->term_id,
287: 'orderby' => 'meta_value_num date',
288: 'order' => 'ASC',
289: 'suppress_filters' => 0
290: );
291:
292: $lessons = get_posts( $args );
293: if ( 0 < count( $lessons ) ) {
294: foreach ($lessons as $lesson_item){
295: $all_lessons[] = $lesson_item->ID;
296: }
297: }
298:
299: }
300:
301: }
302:
303: $args = array(
304: 'post_type' => 'lesson',
305: 'posts_per_page' => -1,
306: 'suppress_filters' => 0,
307: 'meta_key' => '_order_' . $lesson_course_id,
308: 'orderby' => 'meta_value_num date',
309: 'order' => 'ASC',
310: 'meta_query' => array(
311: array(
312: 'key' => '_lesson_course',
313: 'value' => intval( $lesson_course_id ),
314: ),
315: ),
316: 'post__not_in' => $all_lessons,
317: );
318:
319: $other_lessons = get_posts( $args );
320: if ( 0 < count( $other_lessons ) ) {
321: foreach ($other_lessons as $lesson_item){
322: $all_lessons[] = $lesson_item->ID;
323: }
324: }
325:
326: if ( 0 < count( $all_lessons ) ) {
327: $found_index = false;
328: foreach ( $all_lessons as $lesson ){
329: if ( $found_index && $return_values['next_lesson'] == 0 ) {
330: $return_values['next_lesson'] = $lesson;
331: }
332: if ( $lesson == $lesson_id ) {
333:
334: $found_index = true;
335: }
336: if ( !$found_index ) {
337: $return_values['prev_lesson'] = $lesson;
338: }
339: }
340: }
341:
342: }
343: return $return_values;
344: }
345:
346: 347: 348: 349: 350: 351: 352: 353: 354:
355: function sensei_get_excerpt( $post_id = '' ) {
356:
357: global $post;
358: _deprecated_function('sensei_get_excerpt', 'use the wordpress excerpt functionality.');
359: return get_the_excerpt();
360:
361: }
362:
363: function sensei_has_user_started_course( $post_id = 0, $user_id = 0 ) {
364: _deprecated_function( __FUNCTION__, '1.7', "WooThemes_Sensei_Utils::user_started_course()" );
365: return Sensei_Utils::user_started_course( $post_id, $user_id );
366: }
367:
368: function sensei_has_user_completed_lesson( $post_id = 0, $user_id = 0 ) {
369: _deprecated_function( __FUNCTION__, '1.7', "WooThemes_Sensei_Utils::user_completed_lesson()" );
370: return Sensei_Utils::user_completed_lesson( $post_id, $user_id );
371: }
372:
373: 374: 375: 376: 377: 378: 379: 380: 381:
382: function sensei_has_user_completed_prerequisite_lesson( $current_lesson_id, $user_id ) {
383:
384: return WooThemes_Sensei_Lesson::is_pre_requisite_complete( $current_lesson_id, $user_id );
385:
386: }
387:
388: 389: 390: 391: 392:
393:
394: 395: 396: 397: 398: 399: 400: 401: 402: 403: 404: 405: 406:
407: function sensei_have_modules( ){
408:
409: global $sensei_modules_loop;
410:
411:
412: if( $sensei_modules_loop[ 'current' ] + 1 > $sensei_modules_loop[ 'total' ] ){
413:
414: return false;
415:
416: }else{
417:
418: return true;
419:
420: }
421:
422: }
423:
424:
425: 426: 427: 428: 429:
430: function sensei_setup_module(){
431:
432: global $sensei_modules_loop, $wp_query;
433:
434:
435: $sensei_modules_loop[ 'current' ]++;
436: $index = $sensei_modules_loop[ 'current' ];
437: if( isset( $sensei_modules_loop['modules'][ $index ] ) ) {
438:
439: $sensei_modules_loop['current_module'] = $sensei_modules_loop['modules'][$index];
440:
441: $course_id = $sensei_modules_loop['course_id'];
442: $module_term_id = $sensei_modules_loop['current_module']->term_id;
443: $modules_query = Sensei()->modules->get_lessons_query( $course_id , $module_term_id );
444:
445:
446: if( $modules_query->have_posts() ){
447:
448: $wp_query = $modules_query;
449:
450: }else{
451:
452: wp_reset_query();
453:
454: }
455:
456: } else {
457:
458: wp_reset_query();
459:
460: }
461:
462: }
463:
464: 465: 466: 467: 468: 469: 470: 471: 472: 473:
474: function sensei_module_has_lessons(){
475:
476: global $wp_query, $sensei_modules_loop;
477:
478: if( 'lesson' == $wp_query->get('post_type') ){
479:
480: return have_posts();
481:
482: }else{
483:
484:
485: if( -1 == $sensei_modules_loop[ 'current' ] ){
486:
487: $index = 0;
488:
489: if( isset( $sensei_modules_loop['modules'][ $index ] ) ) {
490:
491: $course_id = $sensei_modules_loop['course_id'];
492:
493: $module_term_id = $sensei_modules_loop['modules'][ $index ] ->term_id;
494: $modules_query = Sensei()->modules->get_lessons_query( $course_id , $module_term_id );
495:
496:
497: if( $modules_query->have_posts() ){
498:
499: return true;
500:
501: }
502: }
503: }
504:
505: return false;
506:
507: }
508:
509: }
510:
511: 512: 513: 514: 515: 516: 517: 518: 519: 520:
521: function sensei_the_module_title_attribute(){
522:
523: esc_attr_e( sensei_get_the_module_title() );
524:
525: }
526:
527: 528: 529: 530: 531: 532: 533:
534: function sensei_the_module_permalink(){
535:
536: global $sensei_modules_loop;
537: $course_id = $sensei_modules_loop['course_id'];
538: $module_url = add_query_arg('course_id', $course_id, get_term_link( $sensei_modules_loop['current_module'], 'module' ) );
539: $module_term_id = $sensei_modules_loop['current_module']->term_id;
540:
541: 542: 543: 544: 545: 546: 547: 548: 549:
550: echo esc_url_raw( apply_filters( 'sensei_the_module_permalink', $module_url, $module_term_id ,$course_id ) );
551:
552: }
553:
554: 555: 556: 557: 558: 559: 560: 561:
562: function sensei_get_the_module_title(){
563:
564: global $sensei_modules_loop;
565:
566: $module_title = $sensei_modules_loop['current_module']->name;
567: $module_term_id = $sensei_modules_loop['current_module']->term_id;
568: $course_id = $sensei_modules_loop['course_id'];
569:
570: 571: 572: 573: 574: 575: 576: 577: 578: 579: 580:
581: return apply_filters( 'sensei_the_module_title', $module_title , $module_term_id, $course_id );
582:
583: }
584:
585: 586: 587: 588: 589: 590: 591: 592:
593: function sensei_the_module_title(){
594:
595: echo sensei_get_the_module_title();
596:
597: }
598:
599: 600: 601: 602: 603: 604: 605:
606: function sensei_get_the_module_status(){
607:
608: if( ! is_user_logged_in() ){
609: return '';
610: }
611:
612: global $sensei_modules_loop;
613: $module_title = $sensei_modules_loop['current_module']->name;
614: $module_term_id = $sensei_modules_loop['current_module']->term_id;
615: $course_id = $sensei_modules_loop['course_id'];
616: $module_progress = Sensei()->modules->get_user_module_progress( $module_term_id, $course_id, get_current_user_id() );
617:
618: $module_status = '';
619: if ( $module_progress && $module_progress > 0) {
620:
621: $module_status = __('Completed', 'woothemes-sensei');
622:
623: if ($module_progress < 100) {
624:
625: $module_status = __('In progress', 'woothemes-sensei');
626:
627: }
628:
629: }
630:
631: if ( empty( $module_status ) ){
632: return '';
633: }
634:
635: $status_class = strtolower( str_replace( ' ', '-', $module_status ) );
636: $module_status_html = '<p class="status module-status ' . $status_class . '">'
637: . $module_status
638: . '</p>';
639:
640: 641: 642: 643: 644: 645: 646: 647: 648: 649: 650:
651: return apply_filters( 'sensei_the_module_status_html', $module_status_html , $module_term_id, $course_id );
652:
653: }
654:
655: 656: 657: 658:
659: function sensei_the_module_status(){
660:
661: echo sensei_get_the_module_status();
662:
663: }
664:
665: 666: 667: 668: 669:
670:
671: 672: 673: 674: 675: 676: 677: 678: 679:
680: function sensei_quiz_has_questions(){
681:
682: global $sensei_question_loop;
683:
684: if( !isset( $sensei_question_loop['total'] ) ){
685: return false;
686: }
687:
688: if( $sensei_question_loop['current'] + 1 < $sensei_question_loop['total'] ){
689:
690: return true;
691:
692: }else{
693:
694: return false;
695:
696: }
697:
698: }
699:
700: 701: 702: 703: 704: 705: 706: 707: 708:
709: function sensei_setup_the_question(){
710:
711: global $sensei_question_loop;
712:
713: $sensei_question_loop['current']++;
714: $index = $sensei_question_loop['current'];
715: $sensei_question_loop['current_question'] = $sensei_question_loop['questions'][ $index ] ;
716:
717: }
718:
719: 720: 721: 722: 723: 724:
725: function sensei_the_question_content(){
726:
727: global $sensei_question_loop;
728:
729: $question_type = Sensei()->question->get_question_type( $sensei_question_loop['current_question']->ID );
730:
731:
732: WooThemes_Sensei_Question::load_question_template( $question_type );
733:
734: }
735:
736: 737: 738: 739: 740:
741: function sensei_the_question_class(){
742:
743: global $sensei_question_loop;
744:
745: $question_type = Sensei()->question->get_question_type( $sensei_question_loop['current_question']->ID );
746:
747: 748: 749: 750: 751: 752:
753: $classes = apply_filters( 'sensei_question_classes', array( $question_type ) );
754:
755: $html_classes = '';
756: foreach( $classes as $class ){
757:
758: $html_classes .= $class . ' ';
759:
760: }
761:
762: esc_attr_e( trim( $html_classes ) );
763:
764: }
765:
766: 767: 768: 769: 770:
771: function sensei_get_the_question_id( ){
772:
773: global $sensei_question_loop;
774: if( isset( $sensei_question_loop['current_question']->ID ) ){
775:
776: return $sensei_question_loop['current_question']->ID;
777:
778: }
779:
780: }
781:
782: 783: 784: 785: 786:
787:
788: 789: 790: 791: 792: 793: 794: 795: 796: 797: 798: 799: 800: 801: 802:
803: function sensei_can_user_view_lesson( $lesson_id = '', $user_id = '' ){
804:
805: if( empty( $lesson_id ) ){
806:
807: $lesson_id = get_the_ID();
808:
809: }
810:
811: if ( 'quiz'== get_post_type( get_the_ID() ) ){
812:
813: $lesson_id = Sensei()->quiz->get_lesson_id( get_the_ID() );
814:
815: }
816:
817: if( empty( $user_id ) ){
818:
819: $user_id = get_current_user_id();
820:
821: }
822:
823:
824: $pre_requisite_complete = WooThemes_Sensei_Lesson::is_prerequisite_complete( $lesson_id, $user_id );
825: $lesson_course_id = get_post_meta( $lesson_id, '_lesson_course', true );
826: $user_taking_course = Sensei_Utils::user_started_course( $lesson_course_id, $user_id );
827:
828: $is_preview = false;
829: if( Sensei_Utils::is_preview_lesson( $lesson_id ) ) {
830:
831: $is_preview = true;
832: $pre_requisite_complete = true;
833:
834: };
835:
836:
837: $user_can_access_lesson = false;
838:
839: if( is_user_logged_in() && $user_taking_course ){
840:
841: $user_can_access_lesson = true;
842:
843: }
844:
845:
846: $access_permission = false;
847:
848: if ( ! Sensei()->settings->get('access_permission') || sensei_all_access() ) {
849:
850: $access_permission = true;
851:
852: }
853:
854: $can_user_view_lesson = $access_permission || ( $user_can_access_lesson && $pre_requisite_complete ) || $is_preview;
855:
856: 857: 858: 859: 860: 861: 862: 863: 864: 865: 866:
867: return apply_filters( 'sensei_can_user_view_lesson', $can_user_view_lesson, $lesson_id, $user_id );
868:
869: }
870:
871: 872: 873: 874: 875: 876:
877: function sensei_the_single_lesson_meta(){
878:
879:
880: $template = Sensei_Templates::locate_template( 'single-lesson/lesson-meta.php' );
881: if( ! empty( $template ) ){
882:
883: Sensei_Templates::get_template( 'single-lesson/lesson-meta.php' );
884: return;
885:
886: }
887:
888:
889: $lesson_course_id = absint( get_post_meta( get_the_ID(), '_lesson_course', true ) );
890: $is_preview = Sensei_Utils::is_preview_lesson( get_the_ID() );
891:
892:
893: do_action( 'sensei_complete_lesson' );
894:
895: if ( Sensei()->access_settings()
896: || Sensei_Utils::user_started_course( $lesson_course_id, get_current_user_id())
897: || $is_preview ) {
898: ?>
899: <section class="lesson-meta">
900: <?php
901: if( apply_filters( 'sensei_video_position', 'top', get_the_ID() ) == 'bottom' ) {
902:
903: do_action( 'sensei_lesson_video', get_the_ID() );
904:
905: }
906: ?>
907: <?php do_action( 'sensei_frontend_messages' ); ?>
908:
909: <?php if ( ! $is_preview
910: || Sensei_Utils::user_started_course( $lesson_course_id, get_current_user_id()) ) {
911:
912: sensei_do_deprecated_action( 'sensei_lesson_quiz_meta','1.9.0', 'sensei_single_lesson_content_inside_before' ,array( get_the_ID(), get_current_user_id() ) );
913:
914: } ?>
915: </section>
916:
917: <?php do_action( 'sensei_lesson_back_link', $lesson_course_id ); ?>
918:
919: <?php }
920:
921: do_action( 'sensei_lesson_meta_extra', get_the_ID() );
922:
923: }
924:
925: 926: 927: 928: 929: 930: 931: 932: 933: 934:
935: function get_sensei_header(){
936:
937: 938: 939: 940: 941:
942: if ( ! apply_filters( 'sensei_show_main_header', true ) ) {
943: return;
944: }
945:
946: if ( ! defined( 'ABSPATH' ) ) exit;
947:
948: get_header();
949:
950: 951: 952: 953: 954:
955: do_action( 'sensei_before_main_content' );
956:
957: }
958:
959: 960: 961: 962: 963: 964: 965: 966: 967: 968:
969: function get_sensei_footer(){
970:
971: 972: 973: 974: 975:
976: if ( ! apply_filters( 'sensei_show_main_footer', true ) ) {
977: return;
978: }
979:
980: 981: 982: 983: 984:
985: do_action( 'sensei_pagination' );
986:
987: 988: 989: 990: 991:
992: do_action( 'sensei_after_main_content' );
993:
994: 995: 996: 997: 998:
999: do_action( 'sensei_sidebar' );
1000:
1001: get_footer();
1002:
1003: }
1004:
1005: 1006: 1007: 1008: 1009: 1010:
1011: function the_no_permissions_title(){
1012:
1013: 1014: 1015: 1016: 1017: 1018: 1019:
1020: echo apply_filters( 'sensei_the_no_permissions_title', Sensei()->permissions_message['title'] );
1021:
1022: }
1023:
1024: 1025: 1026: 1027: 1028:
1029: function the_no_permissions_message( $post_id ){
1030:
1031: 1032: 1033: 1034: 1035: 1036: 1037:
1038: echo apply_filters( 'sensei_the_no_permissions_message', Sensei()->permissions_message['message'] , $post_id );
1039: }
1040:
1041: 1042: 1043: 1044: 1045:
1046: function sensei_the_excerpt( $post_id ){
1047:
1048: global $post;
1049: the_excerpt( $post );
1050:
1051: }
1052:
1053: 1054: 1055: 1056: 1057: 1058: 1059: 1060:
1061: function sensei_get_current_page_url(){
1062:
1063: global $wp;
1064: $current_page_url = home_url( $wp->request );
1065: return $current_page_url;
1066:
1067: }
1068:
1069: 1070: 1071: 1072: 1073: 1074:
1075: function sensei_the_my_courses_content(){
1076:
1077: echo Sensei()->course->load_user_courses_content( wp_get_current_user() );
1078:
1079: }
1080:
1081: 1082: 1083: 1084: 1085: 1086: 1087: 1088: 1089:
1090: function sensei_load_template( $template_name ){
1091:
1092: Sensei_Templates::get_template( $template_name );
1093:
1094: }
1095:
1096: 1097: 1098: 1099: 1100: 1101: 1102: 1103:
1104: function sensei_load_template_part( $slug, $name ){
1105:
1106: Sensei_Templates::get_part( $slug, $name );
1107:
1108: }
1109:
1110: 1111: 1112: 1113: 1114: 1115: 1116: 1117: 1118: 1119: 1120: 1121: 1122:
1123: function sensei_the_lesson_excerpt( $lesson_id = '' ) {
1124:
1125: if( empty( $lesson_id )){
1126:
1127: $lesson_id = get_the_ID();
1128:
1129: }
1130:
1131: if( 'lesson' != get_post_type( $lesson_id ) ){
1132: return;
1133: }
1134:
1135: echo Sensei_Lesson::lesson_excerpt( get_post( $lesson_id ), false );
1136:
1137: }
1138:
1139: 1140: 1141: 1142: 1143:
1144: function sensei_the_course_results_lessons(){
1145:
1146: $located_template= locate_template( Sensei()->template_url . 'course-results/course-lessons.php' );
1147: if( $located_template ){
1148:
1149: Sensei_Templates::get_template( 'course-results/course-lessons.php' );
1150: return;
1151:
1152: }
1153:
1154: Sensei_Templates::get_template( 'course-results/lessons.php' );
1155: }
1156:
1157: 1158: 1159: 1160: 1161: 1162: 1163:
1164: function sensei_courses_per_row(){
1165:
1166: echo Sensei_Course::get_loop_number_of_columns();
1167:
1168: }
1169:
1170: 1171: 1172: 1173: 1174: 1175: 1176: 1177:
1178: function sensei_get_template( $template_name, $args, $path ){
1179:
1180: Sensei_Templates::get_template( $template_name, $args, $path );
1181:
1182: }
1183:
1184: 1185: 1186: 1187: 1188: 1189: 1190: 1191:
1192: function get_the_lesson_status_class(){
1193:
1194: $status_class = '';
1195: $lesson_completed = Sensei_Utils::user_completed_lesson( get_the_ID(), get_current_user_id() );
1196:
1197: if ( $lesson_completed ) {
1198: $status_class = 'completed';
1199: }
1200:
1201: return $status_class;
1202:
1203: }
1204: 1205: 1206: 1207: 1208: 1209: 1210:
1211: function sensei_the_lesson_status_class(){
1212:
1213: echo get_the_lesson_status_class();
1214: }
1215: