Title: Clevers Product Carousel
Author: Clevers Dev
Published: <strong>September 22, 2026</strong>
Last modified: September 22, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/clevers-product-carousel.svg)

# Clevers Product Carousel

 By [Clevers Dev](https://profiles.wordpress.org/cleversdev/)

[Download](https://downloads.wordpress.org/plugin/clevers-product-carousel.1.4.0.zip)

 * [Details](https://wordpress.org/plugins/clevers-product-carousel/#description)
 * [Reviews](https://wordpress.org/plugins/clevers-product-carousel/#reviews)
 *  [Installation](https://wordpress.org/plugins/clevers-product-carousel/#installation)
 * [Development](https://wordpress.org/plugins/clevers-product-carousel/#developers)

 [Support](https://wordpress.org/support/plugin/clevers-product-carousel/)

## Description

**Clevers Product Carousel** lets you create and display fully customizable WooCommerce
product carousels from the WordPress admin area.

 * Ready-to-use carousel and card presets.
 * Per-carousel color settings for buttons, background, and text.
 * Product filters: featured, on-sale, in-stock, and categories.
 * Carousel controls: slides, autoplay, dots, and arrows.
 * Gutenberg block to insert saved carousels from the editor.
 * Cached rendering and dynamic CSS variables for performance.
 * Theme-overridable templates (WooCommerce-style structure).

#### Main Features

 * **Customizable presets:** 4 base designs that can be extended.
 * **Dynamic colors:** define colors per carousel (primary, secondary, buttons, 
   badges, etc.).
 * **WooCommerce compatible:** uses WooCommerce product data and pricing.
 * **Visual options:** autoplay, speed, slides to show, arrows, and dots.
 * **Theme overrides:** copy `templates/carousels/carousel-1.php` or `templates/
   cards/card-1.php` to `/clevers-product-carousel/` inside your theme to customize
   markup.
 * **Caching system:** reduces repeated queries and improves rendering speed.

### Third-party Libraries

This plugin bundles **Slick.js v1.8.1** by Ken Wheeler, licensed under the MIT License.

Source: https://github.com/kenwheeler/slick

### License

This plugin is free software, licensed under GPLv2 or later.

## Blocks

This plugin provides 1 block.

 *   Clevers Product Carousel

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/`, or install it from the WordPress
    plugin directory.
 2. Activate the plugin from the “Plugins” menu in WordPress.
 3. Create a new **Product Carousel** from the “Product Carousels” menu in the admin
    area.
 4. Configure layout, colors, and filters.
 5. Insert the carousel into any page or template using the shortcode:
 6. `[cleverspr_carousel id="123"]`

Replace `123` with your carousel post ID.

You can also insert it using the **Clevers Product Carousel** block in Gutenberg.

## FAQ

### Can I use it without WooCommerce?

No. The plugin requires WooCommerce to load products.

### How do I change the card layout?

Copy the file from:
 `wp-content/plugins/clevers-product-carousel/templates/cards/
card-1.php` to: `wp-content/themes/tu-tema/clevers-product-carousel/cards/card-1.
php` and edit it in your theme.

### How do I customize colors?

Each carousel includes color fields in the editor. You can also override CSS variables:

    ```
    `css
    ```

### clevers-product-carousel-123 {

–clevers-primary: #e63946;
 –clevers-secondary: #1d3557; } `

### Does the plugin provide hooks/filters for developers?

Yes. The plugin offers several filters and actions for developers to extend its 
functionality:

**Filters:**

 * `cleverspr_carousel_query_args` (filter): Modify product query args before product
   lookup. Receives `$args`, `$carousel_id`, and `$meta`.
 * `cleverspr_carousel_template_path` (filter): Override template relative path 
   inside `templates/`.
 * `cleverspr_carousel_css_vars` (filter): Adjust per-carousel CSS variables before
   inline output. Receives `$vars`, `$carousel_id`, `$settings`, and `$vars_map`.
 * `cleverspr_carousel/cache_ttl` (filter): Control the TTL of the transient cache
   for rendered carousel HTML.
 * `cleverspr_carousel/settings` (filter): Modify carousel settings before rendering.
 * `cleverspr_carousel/card_template_relpath` (filter): Override card template path.
 * `cleverspr_carousel/slider_data_attributes` (filter): Modify slider data attributes.

**Actions:**

 * `cleverspr_carousel_before_render` (action): Fires right before carousel template
   rendering. Receives `$carousel_id`, `$settings`, and `$products`.
 * `cleverspr_carousel_after_render` (action): Fires right after carousel template
   rendering. Receives `$carousel_id`, `$settings`, and `$products`.

**Examples:**

    ```
    `php
    ```

// Modify query to limit price range
 add_filter( ‘cleverspr_carousel_query_args’,
function( $args, $carousel_id, $meta ) { $args[‘price_range’] = [ 20, 200 ]; return
$args; }, 10, 3 );

// Add custom CSS variables
 add_filter( ‘cleverspr_carousel_css_vars’, function(
$vars, $carousel_id, $settings, $vars_map ) { $vars[] = ‘–clevers-margen-cards: 
24px;’; return $vars; }, 10, 4 );

// Track carousel renders
 add_action( ‘cleverspr_carousel_before_render’, function(
$carousel_id, $settings, $products ) { do_action( ‘mi_tracking/carousel_render_start’,
$carousel_id, count( $products ) ); }, 10, 3 ); `

Namespace variants such as `cleverspr_carousel/query_args`, `cleverspr_carousel/
before`, and `cleverspr_carousel/after` are also available.

### WP-CLI commands

When WP-CLI is available, the plugin registers a `clevprca-carousel` command namespace:

 * `wp clevprca-carousel list [--preset=<n>]` — print every carousel (id, title,
   status, preset, shortcode) as a table. Filter by preset with `--preset`.
 * `wp clevprca-carousel flush-cache` — delete all `cleverspr_carousel_*` cache 
   transients and bump the global cache version so in-process renders rebuild. Use
   after imports or when prices/stock have changed but the cache has not expired
   yet.
 * `wp clevprca-carousel render <id> [--file=<name>]` — print the rendered HTML 
   for a given carousel id to stdout, or write it into the plugin uploads directory.
   Handy for headless smoke tests and template debugging.

Examples:

    ```
    `
    ```

wp clevprca-carousel list
 wp clevprca-carousel list –preset=2 wp clevprca-carousel
flush-cache wp clevprca-carousel render 42 –file=carousel-42.html `

These commands are loaded only when `WP_CLI` is defined, so there is no overhead
in normal HTTP requests.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Clevers Product Carousel” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Clevers Dev ](https://profiles.wordpress.org/cleversdev/)

[Translate “Clevers Product Carousel” into your language.](https://translate.wordpress.org/projects/wp-plugins/clevers-product-carousel)

### Interested in development?

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

## Changelog

#### 1.4.0

 * **Breaking change:** the shortcode tag changed from `[clevers_carousel]` to `[
   cleverspr_carousel]`, and the Gutenberg block namespace from `clevers-product-
   carousel/carousel` to `cleverspr/carousel`. Existing content referencing the 
   old names must be updated. The CPT slug (`clevers_carousel`) and the post meta
   keys are unchanged, so existing carousel posts keep their settings.
 * WP-CLI `render --file` no longer writes to an arbitrary path. `--file` now takes
   a plain filename written inside `wp-content/uploads/clevers-product-carousel/`,
   resolved at runtime with `wp_upload_dir()`; path separators, `..` and stream 
   wrappers are rejected.
 * Renamed every plugin-owned global identifier from the shared `clv` / `clevers`
   prefixes to the unique `clevprca` prefix (functions, classes, constants, options,
   transients, post meta, script/style handles, nonces, AJAX actions, WP-CLI namespace).
 * Removed the `function_exists()` guards around the plugin’s own helper functions,
   which could cause a fatal error if another plugin loaded a same-named function
   first.

#### 1.3.1

 * Removed `Tested up to` from the main plugin header (declared only in readme.txt
   per WordPress.org guidelines) and bumped it to 7.1.
 * Moved all admin inline `<style>`/`<script>` blocks to properly enqueued `assets/
   admin.css` and `assets/admin.js` files.
 * Moved the Brizy preview `<style>` injection in the renderer to `wp_add_inline_style()`
   so it ships through the standard stylesheet pipeline.
 * Wrapped shortcode and Gutenberg block render callbacks in `wp_kses_post()` to
   defend against untrusted content that may pass through the `clevers_product_carousel/
   rendered_html` filter.
 * Renamed internal `CLV_*` constants to `CLEVPRCA_*` to satisfy the prefix length
   requirement (4+ characters, distinct from common words).
 * Updated the `Contributors` field in readme.txt to the plugin owner (`cleversdev`).

#### 1.3.0

 * Added WP-CLI commands: `wp clevprca-carousel list`, `wp clevprca-carousel flush-
   cache`, `wp clevprca-carousel render <id>`. Useful for staging environments, 
   CI pipelines, and headless smoke tests.
 * Documented developer hooks (filters/actions) more clearly in the FAQ.
 * No new runtime dependencies; WP-CLI integration adds zero overhead when WP-CLI
   is not in use.

#### 1.2.3

 * Enhanced Brizy editor integration.
 * Refined JSON import flow.
 * Improved frontend fallback behavior.
 * Added Gutenberg block support improvements.
 * Added queue-metrics observability fields (pending/processed/failed, avg time,
   last error) for the rendering pipeline.
 * Enhanced admin tools and management UX.

#### 1.2.1

 * Added Gutenberg block for selecting saved carousels.
 * Improved admin UI (sorting, categories selector, shortcode box, preset preview).
 * Fixed filter combination logic for on-sale + featured products.
 * Expanded cache invalidation hooks for WooCommerce updates.
 * Accessibility and UX improvements for Slick carousel navigation.

#### 1.1.2

 * Updated compatibility headers for the latest WordPress version.
 * Improved release packaging for WordPress.org-ready ZIP files.
 * Code quality fixes for Plugin Check / WordPress Coding Standards.

#### 0.2.0

 * Added per-carousel color system (dynamic CSS variables).
 * Improved rendering with cache support.
 * Added theme template override support.
 * General code refactor.

#### 0.1.0

 * Initial release with WooCommerce product carousel support.

## Meta

 *  Version **1.4.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [carousel](https://wordpress.org/plugins/tags/carousel/)[ecommerce](https://wordpress.org/plugins/tags/ecommerce/)
   [products](https://wordpress.org/plugins/tags/products/)[woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/clevers-product-carousel/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/clevers-product-carousel/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/clevers-product-carousel/reviews/)

## Contributors

 *   [ Clevers Dev ](https://profiles.wordpress.org/cleversdev/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/clevers-product-carousel/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://clevers.dev)