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.phportemplates/cards/card-1.phpto/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
- Upload the plugin folder to
/wp-content/plugins/, or install it from the WordPress plugin directory. - Activate the plugin from the “Plugins” menu in WordPress.
- Create a new Product Carousel from the “Product Carousels” menu in the admin area.
- Configure layout, colors, and filters.
-
Insert the carousel into any page or template using the shortcode:
[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 insidetemplates/.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, andcleverspr_carousel/afterare also available. -
WP-CLI commands
-
When WP-CLI is available, the plugin registers a
clevprca-carouselcommand 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 allcleverspr_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_CLIis 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.
ContributorsTranslate “Clevers Product Carousel” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.4.0
- Breaking change: the shortcode tag changed from
[clevers_carousel]to[cleverspr_carousel], and the Gutenberg block namespace fromclevers-product-carousel/carouseltocleverspr/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 --fileno longer writes to an arbitrary path.--filenow takes a plain filename written insidewp-content/uploads/clevers-product-carousel/, resolved at runtime withwp_upload_dir(); path separators,..and stream wrappers are rejected. - Renamed every plugin-owned global identifier from the shared
clv/cleversprefixes to the uniqueclevprcaprefix (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 tofrom 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 enqueuedassets/admin.cssandassets/admin.jsfiles. - Moved the Brizy preview
<style>injection in the renderer towp_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 theclevers_product_carousel/rendered_htmlfilter. - Renamed internal
CLV_*constants toCLEVPRCA_*to satisfy the prefix length requirement (4+ characters, distinct from common words). - Updated the
Contributorsfield 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.