OwlCyberSecurity - MANAGER
Edit File: archive-course-init.php
<?php $edura_overide_sidebar_position = isset($_GET['sb'])? $_GET['sb']:'without_sidebar'; // Initialize argument variables !isset($course_filter) ? $course_filter = false : 0; !isset($supported_filters) ? $supported_filters = tutor_utils()->get_option( 'supported_course_filters', array() ) : 0; !isset($loop_content_only) ? $loop_content_only = false : 0; if($edura_overide_sidebar_position == 'without_sidebar'){ !isset($column_per_row) ? $column_per_row = tutor_utils()->get_option( 'courses_col_per_row', 3 ) : 0; }else{ !isset($column_per_row) ? $column_per_row = 3 : 3; } !isset($course_per_page) ? $course_per_page = tutor_utils()->get_option( 'courses_per_page', 12 ) : 0; !isset($show_pagination) ? $show_pagination = true : 0; !isset($current_page) ? $current_page = 1 : 0; // Hide pagination is there is no page after first one $pages_count = 0; if(isset($the_query)){ $pages_count = $the_query->max_num_pages; } else { global $wp_query; $pages_count = $wp_query->max_num_pages; } $pages_count<2 ? $show_pagination=false : 0; // Set in global variable to avoid too many stack to pass to other templates $GLOBALS['tutor_course_archive_arg'] = compact( 'course_filter', 'supported_filters', 'loop_content_only', 'column_per_row', 'course_per_page', 'show_pagination' ); $course_archive_arg = isset($GLOBALS['tutor_course_archive_arg']) ? $GLOBALS['tutor_course_archive_arg']['column_per_row'] : null; $columns = $course_archive_arg === null ? tutor_utils()->get_option( 'courses_col_per_row', 3 ) : $course_archive_arg; $has_course_filters = $course_filter && count($supported_filters); $supported_filters_keys = array_keys( $supported_filters ); // Render the loop ob_start(); do_action( 'tutor_course/archive/before_loop' ); ?> <div class="tab-content" id="nav-tabContent"> <div class="tab-pane fade active show" id="tab-grid" role="tabpanel" aria-labelledby="tab-course-grid"> <?php if($edura_overide_sidebar_position == 'with_sidebar'){ echo '<div class="grid-hth-sidebar">';}?> <div class="row gy-30"> <?php if ( (isset($the_query) && $the_query->have_posts()) || have_posts() ) { /* Start the Loop */ // tutor_course_loop_start(); while ( isset($the_query) ? $the_query->have_posts() : have_posts() ){ isset($the_query) ? $the_query->the_post() : the_post(); /** * @hook tutor_course/archive/before_loop_course * @type action * Usage Idea, you may keep a loop within a wrap, such as bootstrap col */ do_action( 'tutor_course/archive/before_loop_course' ); tutor_load_template( 'loop.course' ); /** * @hook tutor_course/archive/after_loop_course * @type action * Usage Idea, If you start any div before course loop, you can end it here, such as </div> */ do_action( 'tutor_course/archive/after_loop_course' ); } // tutor_course_loop_end(); } else { /** * No course found */ tutor_utils()->tutor_empty_state( tutor_utils()->not_found_text() ); } echo '</div>'; if($edura_overide_sidebar_position == 'with_sidebar'){ echo '</div>';} echo '</div>'; //---------------------------list---------------------------// echo '<div class="tab-pane fade " id="tab-list" role="tabpanel" aria-labelledby="tab-course-list">'; echo '<div class="row">'; if ( (isset($the_query) && $the_query->have_posts()) || have_posts() ) { /* Start the Loop */ while ( isset($the_query) ? $the_query->have_posts() : have_posts() ){ isset($the_query) ? $the_query->the_post() : the_post(); /** * @hook tutor_course/archive/before_loop_course * @type action * Usage Idea, you may keep a loop within a wrap, such as bootstrap col */ tutor_load_template( 'loop.course-list' ); /** * @hook tutor_course/archive/after_loop_course * @type action * Usage Idea, If you start any div before course loop, you can end it here, such as </div> */ } wp_reset_postdata(); } else { /** * No course found */ tutor_utils()->tutor_empty_state( tutor_utils()->not_found_text() ); } echo '</div>'; echo '</div>'; echo '</div>'; do_action( 'tutor_course/archive/after_loop' ); if($show_pagination) { // Load the pagination now global $wp_query; $current_url = wp_doing_ajax() ? $_SERVER['HTTP_REFERER'] : tutor()->current_url; $push_link = add_query_arg( array_merge( $_POST, $GLOBALS['tutor_course_archive_arg'] ), $current_url ); $data = wp_doing_ajax( ) ? $_POST : $_GET; $pagination_data = array( 'total_page' => isset($the_query) ? $the_query->max_num_pages : $wp_query->max_num_pages, 'per_page' => $course_per_page, 'paged' => $current_page, 'data_set' => array('push_state_link'=>$push_link), 'ajax' => array_merge($data, array( 'loading_container' => '.tutor-course-filter-loop-container', 'action' => 'tutor_course_filter_ajax', )) ); tutor_load_template_from_custom_path( tutor()->path . 'templates/dashboard/elements/pagination.php', $pagination_data ); } $course_loop = ob_get_clean(); if (isset($loop_content_only) && $loop_content_only==true) { echo wp_kses_post($course_loop); return; } ?> <div class="tutor-wrap tutor-wrap-parent tutor-courses-wrap course-archive-page space-top space-extra-bottom" data-tutor_courses_meta="<?php echo esc_attr( json_encode($GLOBALS['tutor_course_archive_arg']) ); ?>"> <div class="container"> <div class="row"> <?php if($edura_overide_sidebar_position == 'with_sidebar'){ if ( $has_course_filters ): ?> <div class="col-xl-3 col-lg-4 order-lg-1"> <div class="tutor-course-filter" tutor-course-filter> <div class="course-sidebar sidebar-area"> <?php tutor_load_template('course-filter.filters'); ?> </div> </div> </div> <div class="col-xl-<?php echo esc_attr($columns < 3 ? 8 : 9); ?> col-lg-8 order-lg-2 "> <div class="tutor-pagination-wrapper-replaceable"> <div class="th-sort-bar course-sort-bar"> <div class="row justify-content-between align-items-center"> <div class="col-md"> <div class="nav align-items-center" role=tablist> <?php global $wp_query; $result_count = $wp_query->found_posts; echo '<p class="woocommerce-result-count"><strong class="text-title">'.esc_html( $result_count).'</strong>'.esc_html__(' courses', 'edura').'</p>';?> <a href="#" class="active" id="tab-course-grid" data-bs-toggle="tab" data-bs-target="#tab-grid" role="tab" aria-controls="tab-grid" aria-selected="true"><i class="fa-solid fa-grid-2"></i> <?php echo esc_html__('Grid', 'edura') ?></a> <a href="#" id="tab-course-list" data-bs-toggle="tab" data-bs-target="#tab-list" role="tab" aria-controls="tab-grid" aria-selected="false"><i class="fas fa-list"></i><?php echo esc_html__(' List', 'edura') ?></a> </div> </div> <?php if ( tutor_utils()->get_option( 'course_archive_filter_sorting', true, true, true ) ) : ?> <div class="col-md-auto"> <?php tutor_load_template('course-filter.course-archive-filter-bar'); ?> </div> <?php endif; ?> </div> </div> <div tutor-course-list-container> <?php echo wp_kses_post($course_loop); ?> </div> </div> </div> <?php else: ?> <div class="tutor-col-12"> <div class="th-sort-bar course-sort-bar"> <div class="row justify-content-between align-items-center"> <div class="col-md"> <div class="nav align-items-center" role=tablist> <?php global $wp_query; $result_count = $wp_query->found_posts; echo '<p class="woocommerce-result-count"><strong class="text-title">'.esc_html( $result_count).'</strong>'.esc_html__(' courses', 'edura').'</p>'; ?> <a href="#" class="active" id="tab-course-grid" data-bs-toggle="tab" data-bs-target="#tab-grid" role="tab" aria-controls="tab-grid" aria-selected="true"><i class="fa-solid fa-grid-2"></i> <?php echo esc_html__('Grid', 'edura') ?></a> <a href="#" id="tab-course-list" data-bs-toggle="tab" data-bs-target="#tab-list" role="tab" aria-controls="tab-grid" aria-selected="false"><i class="fas fa-list"></i> <?php echo esc_html__(' List', 'edura') ?></a> </div> </div> <?php if ( tutor_utils()->get_option( 'course_archive_filter_sorting', true, true, true ) ) : ?> <div class="col-md-auto"> <?php tutor_load_template('course-filter.course-archive-filter-bar'); ?> </div> <?php endif; ?> </div> </div> <div class="tutor-pagination-wrapper-replaceable" tutor-course-list-container> <?php echo wp_kses_post($course_loop); ?> </div> </div> <?php endif; }else{ ?> <div class="tutor-col-12"> <div class="th-sort-bar course-sort-bar"> <div class="row justify-content-between align-items-center"> <div class="col-md"> <div class="nav align-items-center" role=tablist> <?php global $wp_query; $result_count = $wp_query->found_posts; echo '<p class="woocommerce-result-count"><strong class="text-title">'.esc_html( $result_count).'</strong>'.esc_html__(' courses', 'edura').'</p>';?> <a href="#" class="active" id="tab-course-grid" data-bs-toggle="tab" data-bs-target="#tab-grid" role="tab" aria-controls="tab-grid" aria-selected="true"><i class="fa-solid fa-grid-2"></i> <?php echo esc_html__('Grid', 'edura') ?></a> <a href="#" id="tab-course-list" data-bs-toggle="tab" data-bs-target="#tab-list" role="tab" aria-controls="tab-grid" aria-selected="false"><i class="fas fa-list"></i> <?php echo esc_html__(' List', 'edura') ?></a> </div> </div> <?php if ( tutor_utils()->get_option( 'course_archive_filter_sorting', true, true, true ) ) : ?> <div class="col-md-auto"> <?php tutor_load_template('course-filter.course-archive-filter-bar'); ?> </div> <?php endif; ?> </div> </div> <div class="tutor-pagination-wrapper-replaceable" tutor-course-list-container> <?php echo wp_kses_post($course_loop); ?> </div> </div> <?php } ?> </div> </div> </div> <?php if ( ! is_user_logged_in() ) { tutor_load_template_from_custom_path( tutor()->path . '/views/modal/login.php' ); }