# learnpress/4.2.1/templates/shortcode/list-courses.php

LearnPress – WordPress LMS Plugin for Create and Sell Online Courses, version 4.2.1. 55 lines.

- Page: https://pluginprobe.com/plugins/learnpress/4.2.1/code/templates/shortcode/list-courses.php
- Raw: https://pluginprobe.com/plugins/learnpress/4.2.1/raw/templates/shortcode/list-courses.php
- Modified: 2023-02-03T05:15:30+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/learnpress/4.2.1/code/templates/shortcode/list-courses.php#L10-L20`.

```php
<?php
/**
 * Template for displaying list courses shortcode.
 *
 * @author  ThimPress
 * @package LearnPress/Templates
 * @version 4.0.0
 */

defined( 'ABSPATH' ) || exit;

if ( ! isset( $query ) ) {
	return;
}

?>
<div class="lp-archive-courses">
	<div class="lp-content-area">
		<?php if ( ! empty( $title ) ) : ?>
			<header class="learn-press-courses-header">
				<h1><?php echo esc_html( $title ); ?></h1>
			</header>
		<?php endif; ?>

		<?php
		if ( $query->have_posts() ) :
			/**
			 * LP Hook
			 */
			do_action( 'learn-press/shortcode/before-courses-loop' );

			LearnPress::instance()->template( 'course' )->begin_courses_loop();

			while ( $query->have_posts() ) :
				$query->the_post();

				learn_press_get_template_part( 'content', 'course' );

			endwhile;

			LearnPress::instance()->template( 'course' )->end_courses_loop();

			/**
			 * LP Hook
			 */
			do_action( 'learn-press/shortcode/after-main-content' );
			wp_reset_postdata();
		else :
			_e( 'No courses', 'learnpress' );
		endif;
		?>
	</div>
</div>


```
