/**
  * Rendering the shortcode this class is responsible for.
  *
  * @return string $content
  */
 public function render()
 {
     global $wp_query;
     if (!is_user_logged_in()) {
         $anchor_before = '<a href="' . esc_url(sensei_user_login_url()) . '" >';
         $anchor_after = '</a>';
         $notice = sprintf(__('You must be logged in to view the non-purchased courses. Click here to %slogin%s.'), $anchor_before, $anchor_after);
         Sensei()->notices->add_notice($notice, 'info');
         Sensei()->notices->print_notices();
         return '';
     }
     // keep a reference to old query
     $current_global_query = $wp_query;
     // assign the query setup in $this-> setup_course_query
     $wp_query = $this->query;
     ob_start();
     Sensei()->notices->print_notices();
     Sensei_Templates::get_template('loop-course.php');
     $shortcode_output = ob_get_clean();
     //restore old query
     $wp_query = $current_global_query;
     return $shortcode_output;
 }
    /**
     * Output the course actions like start taking course, register, add to cart etc.
     *
     * @since 1.9.0
     */
    public static function the_course_enrolment_actions()
    {
        global $post;
        if ('course' != $post->post_type) {
            return;
        }
        ?>
        <section class="course-meta course-enrolment">
        <?php 
        global $post, $current_user;
        $is_user_taking_course = Sensei_Utils::user_started_course($post->ID, $current_user->ID);
        if (is_user_logged_in() && !$is_user_taking_course) {
            // Get the product ID
            $wc_product = wc_get_product(get_post_meta($post->ID, '_course_woocommerce_product', true));
            // Check for woocommerce
            if (Sensei_WC::is_woocommerce_active() && isset($wc_product->price)) {
                Sensei_WC::the_add_to_cart_button_html($post->ID);
            } else {
                sensei_start_course_form($post->ID);
            }
            // End If Statement
        } elseif (is_user_logged_in()) {
            // Check if course is completed
            $user_course_status = Sensei_Utils::user_course_status($post->ID, $current_user->ID);
            $completed_course = Sensei_Utils::user_completed_course($user_course_status);
            // Success message
            if ($completed_course) {
                ?>
                <div class="status completed"><?php 
                _e('Completed', 'woothemes-sensei');
                ?>
</div>
                <?php 
                $has_quizzes = Sensei()->course->course_quizzes($post->ID, true);
                if (has_filter('sensei_results_links') || $has_quizzes) {
                    ?>
                    <p class="sensei-results-links">
                        <?php 
                    $results_link = '';
                    if ($has_quizzes) {
                        $results_link = '<a class="view-results" href="' . Sensei()->course_results->get_permalink($post->ID) . '">' . __('View results', 'woothemes-sensei') . '</a>';
                    }
                    /**
                     * Filter documented in Sensei_Course::the_course_action_buttons
                     */
                    $results_link = apply_filters('sensei_results_links', $results_link, $post->ID);
                    echo $results_link;
                    ?>
</p>
                <?php 
                }
                ?>
            <?php 
            } else {
                ?>
                <div class="status in-progress"><?php 
                echo __('In Progress', 'woothemes-sensei');
                ?>
</div>
            <?php 
            }
        } else {
            // Get the product ID
            $wc_product = wc_get_product(get_post_meta($post->ID, '_course_woocommerce_product', true));
            // Check for woocommerce
            if (Sensei_WC::is_woocommerce_active() && isset($wc_product->price)) {
                Sensei_WC::the_add_to_cart_button_html($post->ID);
            } else {
                if (get_option('users_can_register')) {
                    // set the permissions message
                    $anchor_before = '<a href="' . esc_url(sensei_user_login_url()) . '" >';
                    $anchor_after = '</a>';
                    $notice = sprintf(__('or log in to view this courses. Click here to %slogin%s.'), $anchor_before, $anchor_after);
                    Sensei()->permissions_message['message'] = $notice;
                    $my_courses_page_id = '';
                    /**
                     * Filter to force Sensei to output the default WordPress user
                     * registration link.
                     *
                     * @since 1.9.0
                     * @param bool $wp_register_link default false
                     */
                    $wp_register_link = apply_filters('sensei_use_wp_register_link', false);
                    $settings = Sensei()->settings->get_settings();
                    if (isset($settings['my_course_page']) && 0 < intval($settings['my_course_page'])) {
                        $my_courses_page_id = $settings['my_course_page'];
                    }
                    // If a My Courses page was set in Settings, and 'sensei_use_wp_register_link'
                    // is false, link to My Courses. If not, link to default WordPress registration page.
                    if (!empty($my_courses_page_id) && $my_courses_page_id && !$wp_register_link) {
                        $my_courses_url = get_permalink($my_courses_page_id);
                        $register_link = '<a href="' . $my_courses_url . '">' . __('Register', 'woothemes-sensei') . '</a>';
                        echo '<div class="status register">' . $register_link . '</div>';
                    } else {
                        wp_register('<div class="status register">', '</div>');
                    }
                }
                // end if user can register
            }
            // End If Statement
        }
        // End If Statement
        ?>

        </section><?php 
    }