Beskriuwing
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.
Blokken
Dizze plugin jout 1 blok.
- Clevers Product Carousel
Ynstallaasje
- 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.
Resinsjes
D’r binne gjin resinsjes foar dizze plugin.
Meiwurkers & amp; Untwikkelders
“Clevers Product Carousel” is iepen boarne software. De folgjende minsken hawwe bydroegen oan dizze plugin.
MeiwurkersOersette “Clevers Product Carousel” yn jo taal.
Ynteressearre yn ûntwikkeling?
Blêdzje troch de koade , besjoch de SVN-repository , of abonnearje op it ûntwikkelingslogboek troch RSS .
Feroaringslog
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.