Title: Kouib Blocks for Tutor LMS
Author: kouider bounama
Published: <strong>September 6, 2026</strong>
Last modified: September 6, 2026

---

Search plugins

![](https://ps.w.org/kouib-blocks-for-tutor-lms/assets/banner-772x250.png?rev=3683671)

![](https://ps.w.org/kouib-blocks-for-tutor-lms/assets/icon.svg?rev=3683569)

# Kouib Blocks for Tutor LMS

 By [kouider bounama](https://profiles.wordpress.org/kouiderbounama/)

[Download](https://downloads.wordpress.org/plugin/kouib-blocks-for-tutor-lms.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/kouib-blocks-for-tutor-lms/#description)
 * [Reviews](https://wordpress.org/plugins/kouib-blocks-for-tutor-lms/#reviews)
 *  [Installation](https://wordpress.org/plugins/kouib-blocks-for-tutor-lms/#installation)
 * [Development](https://wordpress.org/plugins/kouib-blocks-for-tutor-lms/#developers)

 [Support](https://wordpress.org/support/plugin/kouib-blocks-for-tutor-lms/)

## Description

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:
 5.  * 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.
 6. **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.

## Blocks

This plugin provides 5 blocks.

 *   Tutor Courses Categories Course category boxes for Tutor LMS with a custom 
   icon per category (upload PNG images and replace or remove them)
 *   Tutor Courses Filter Filter Tutor LMS courses by category with ordering by 
   student count
 *   Platform Stats Quick platform stats: student, instructor, course and lesson
   counts with lightweight caching
 *   Tutor Courses Search Instant search across Tutor LMS courses with live AJAX
   results — no page reload
 *   Tutor Courses Carousel Interactive carousel for displaying Tutor LMS courses
   with full motion and navigation control

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/` or install it from “Plugins  
    Add New  Upload Plugin” (zip file).
 2. Activate the plugin from the “Plugins” screen.
 3. Activate **Tutor LMS** (the plugin works without it, but shows zero courses).
 4. Open the editor and add any block from the **Kouib Blocks** category at the top
    of the block inserter.
 5. 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 );
    ```

## FAQ

### Does the plugin work without Tutor LMS?

Yes, it activates and registers the blocks; but zero courses/lessons appear because
the content types belong to Tutor. The students statistic relies on the total WordPress
user count.

### Does it affect site speed?

No; each block gets its own cache, data is computed with light SQL statements and
stored in a Transient (30 minutes, adjustable via the filter above), and each block’s
assets load only when the block is used.

### How do I recompute student counts after changes?

They are refreshed automatically on: saving/deleting a course, a new enrollment,
or any `tutor_after_*` event — and the whole cache is flushed when the plugin is
updated.

### Is there an API for programmatic customization?

Yes: `kouib_cache_ttl` (duration), the shared render key `kouib_render_course_card`,
and the reusable cache layer `kouib_register_active_key`/`kouib_flush_courses_cache`.

### Do I need coding skills to use it?

No; everything happens in the editor: live preview, colors, columns, icons, show/
hide elements.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Kouib Blocks for Tutor LMS” is open source software. The following people have 
contributed to this plugin.

Contributors

 *   [ kouider bounama ](https://profiles.wordpress.org/kouiderbounama/)

“Kouib Blocks for Tutor LMS” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/kouib-blocks-for-tutor-lms/contributors)
for their contributions.

[Translate “Kouib Blocks for Tutor LMS” into your language.](https://translate.wordpress.org/projects/wp-plugins/kouib-blocks-for-tutor-lms)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/kouib-blocks-for-tutor-lms/),
check out the [SVN repository](https://plugins.svn.wordpress.org/kouib-blocks-for-tutor-lms/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/kouib-blocks-for-tutor-lms/)
by [RSS](https://plugins.trac.wordpress.org/log/kouib-blocks-for-tutor-lms/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### Initial release

 * Five blocks for Tutor LMS: Courses Filter, Courses Carousel, Course Category 
   Boxes, Quick Search and Platform Stats.
 * Transient cache per piece with automatic invalidation and selective asset loading.
 * Central settings panel, full RTL support, Arabic-tolerant search and a bundled
   Arabic translation.
 * Clean uninstall (settings and cache removed on deletion).

## Meta

 *  Version **1.0.0**
 *  Last updated **13 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.3 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [Arabic](https://ar.wordpress.org/plugins/kouib-blocks-for-tutor-lms/) and [English (US)](https://wordpress.org/plugins/kouib-blocks-for-tutor-lms/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/kouib-blocks-for-tutor-lms)
 * Tags
 * [carousel](https://wordpress.org/plugins/tags/carousel/)[courses](https://wordpress.org/plugins/tags/courses/)
   [filter](https://wordpress.org/plugins/tags/filter/)[gutenberg](https://wordpress.org/plugins/tags/gutenberg/)
   [Tutor LMS](https://wordpress.org/plugins/tags/tutor-lms/)
 *  [Advanced View](https://wordpress.org/plugins/kouib-blocks-for-tutor-lms/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/kouib-blocks-for-tutor-lms/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/kouib-blocks-for-tutor-lms/reviews/)

## Contributors

 *   [ kouider bounama ](https://profiles.wordpress.org/kouiderbounama/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/kouib-blocks-for-tutor-lms/)