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

LearnPress – WordPress LMS Plugin for Create and Sell Online Courses, version 4.3.8. 50 lines.

- Page: https://pluginprobe.com/plugins/learnpress/4.3.8/code/templates/shortcode/list-courses.php
- Raw: https://pluginprobe.com/plugins/learnpress/4.3.8/raw/templates/shortcode/list-courses.php
- Modified: 2026-06-01T03:47:14+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.3.8/code/templates/shortcode/list-courses.php#L10-L20`.

```php
<?php
/**
 * Template for displaying list courses shortcode.
 *
 * @author  ThimPress
 * @package LearnPress/Templates
 * @version 4.0.2
 */

use LearnPress\Models\CourseModel;
use LearnPress\TemplateHooks\Course\ListCoursesTemplate;

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
		$posts = $query->posts;
		if ( count( $posts ) > 0 ) :
			echo '<ul class="learn-press-courses" data-layout="grid">';

			foreach ( $posts as $post ) {
				$course = CourseModel::find( $post->ID, true );
				if ( ! $course ) {
					continue;
				}

				echo ListCoursesTemplate::render_course( $course );
			}

			echo '</ul>';
		else :
			_e( 'No courses', 'learnpress' );
		endif;
		?>
	</div>
</div>


```
