Kouib Blocks for Tutor LMS

Kouib Blocks for Tutor LMS

Details
View on WordPress

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:

  1. 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).
  2. Courses Carousel — a responsive slider with side arrows, columns adjustable from the editor, and ordering by newest, most enrolled, or random.
  3. 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.
  4. 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.
  5. 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.

Source Code

The source code for this plugin is publicly available at:
https://github.com/kouiderbounama/kouib-blocks-for-tutor-lms

The source code for the compiled block editor scripts is also included in the src/ directory of this plugin. Each block’s edit.jsx file is the human-readable source that generates the corresponding build/*/index.js file.

To regenerate the compiled files:

  1. Install Node.js 18+ and run npm install in the plugin root.
  2. Run npx wp-scripts build to compile the src/ directory into build/.
  3. Run node build-i18n.js to regenerate translation files.

The vanilla JavaScript files in assets/js/ (carousel.js, search.js, view.js) are hand-written source files and are not generated by build tools.

Details

Plugin code:
kouib-blocks-for-tutor-lms
Plugin version:
1.0.0
Outdated:
No
WP version:
6.3 or higher
PHP version:
7.4 or higher
Test up to WP version:
7.1
Total installations:
0
Last updated:
2026-09-06
Rating:
Times rated:
0
carousel
courses
filter
gutenberg
tutor-lms