The
Kouib Blocks for Tutor LMS package turns a static course listing into a fast, interactive experience inside the Gutenberg block editor — no complex setup. Add a block and display it anywhere.
The five blocks:
- Courses Filter — a grid of courses with category buttons, custom ordering by student count, and a cache per settings combination. Works on the frontend and in the editor (ServerSideRender).
- Courses Carousel — a responsive slider with side arrows, columns adjustable from the editor, and ordering by newest, most enrolled, or random.
- Course Category Boxes — a grid of categories with a course counter and a link per category, plus a custom icon (PNG/SVG) per category uploaded straight from the media library.
- Quick Search — an instant (AJAX) search field with live results and no page reload, featuring:
- Full Arabic normalization: (أ/إ/آ/ٱ → ا), (ة → ه), (ى → ي) and diacritics removal, so searching "الحساب" also finds "المحاسبة".
- Smart relevance ranking: title match > starts with the phrase > contains it.
- A "match exact phrase" option and a two-letter minimum for words.
- Form colors, size and shape adjustable from the editor, with results floating over the page when needed.
- Platform Stats — prominent counters (icon + number + label) for students, instructors, courses and lessons, with a responsive grid (3 breakpoints) and a full panel to show/hide each statistic and its style.
Guaranteed performance:
- Transient cache for every piece (ready HTML or stat numbers) with an active-keys registry.
- Automatic invalidation on saving/deleting a course, on new student enrollments, or on rating updates.
- Light queries: no row-by-row enrollment counting; instructor stats via a single query.
-
Each block's assets load only when the block is present — no extra CSS/JS on pages that don't need it.
Translation & Arabic:
-
All strings use
__() with the kouib-blocks-for-tutor-lms text domain and are ready for .po/.mo.
- Full RTL support and numbers formatted with
number_format_i18n.
- Compatible with Kadence and other themes that respect theme.json.
- Upload the plugin folder to
/wp-content/plugins/ or install it from "Plugins → Add New → Upload Plugin" (zip file).
- Activate the plugin from the "Plugins" screen.
- Activate Tutor LMS (the plugin works without it, but shows zero courses).
- Open the editor and add any block from the Kouib Blocks category at the top of the block inserter.
- Configure each block from the sidebar settings panel, then publish the page.
Optional tuning: the HTML cache duration, via the filter:
add_filter( 'kouib_cache_ttl', fn() => 2 * HOUR_IN_SECONDS );