WordPress plugin intelligence profile

Groundworx Carousel

A responsive carousel block built with Embla Carousel and the WordPress Interactivity API. Works with any block in the editor.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version3.1.0
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 6.5 · PHP 7.4
Directory statusactive
Last directory update27 Aug 20262mo ago
Active installations90Adoption metric — not a quality score
WordPress.org rating4.0 / 5 from 2 ratings
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Groundworx Carousel version 3.1.0 as active, updated 2mo ago and tested up to WordPress 7.1.

Overview

About this plugin

Groundworx Carousel is a flexible Gutenberg block that transforms any WordPress content into beautiful, responsive carousels. Built on the lightweight Embla Carousel engine and the WordPress Interactivity API, it offers advanced responsive controls, multiple design templates, and extensive customization options—all within WordPress’s native block editor.

Perfect For

  • Image galleries and photo carousels
  • Testimonial and review sliders
  • Product showcases and e-commerce displays
  • Hero sections and featured content
  • Client logo carousels
  • Team member presentations
  • Portfolio galleries
  • Content marketing sliders
  • Blog post carousels
  • Before/after comparisons

Key Features

🎨 Nine Professional Templates

Choose from carefully designed templates to match your content style:

* Default & Default Alt – Classic carousel layouts with external navigation

* Simple, Simple Left, Simple Right – Clean minimalist designs with flexible content positioning

* Overlay & Overlay Alt – Modern content overlaid on images with gradient backgrounds

* Partial Overlay & Partial Overlay Alt – Balanced layouts with partial content overlays

📱 Advanced Responsive Controls

* Configure carousel behavior per breakpoint (mobile, large-phone, tablet, laptop, desktop, large-desktop)

* Responsive grid fallback – destroy carousel at specific breakpoints to display slides as a grid

* Mobile-first breakpoint system with inheritance

* Full touch and swipe gesture support for mobile devices

* 6 total breakpoint levels for precise responsive control

🎯 Carousel Types & Transitions

* Slide mode – Classic horizontal sliding carousel

* Loop mode – Infinite continuous scrolling with clones

* Drag and swipe gesture support with momentum

⚙️ Flexible Display Options

* Multiple slides per page with responsive settings

* Variable slide width (auto) or fixed width options

* Start, center, or end alignment

* Customizable gap spacing between slides

* Autoplay

🎚️ Navigation & UI Controls

* 11 Arrow Styles: arrow, chevron, chevronRounded, halfArrow, play, playRounded, sharpChevron, thinChevron, thinChevronRounded, triangle, triangleRounded

* 9 Pagination Styles: circle, circleOutline, square, squareOutline, diamond, diamondOutline, rectangle, rectangleOutline, number

* Progress bar indicator

, “3 / 10”)

* Hide/show controls per breakpoint

* Color customization for all UI elements

🎨 Advanced Color Controls

Customize every UI element with full WordPress color palette support:

* Arrows: text, background, border colors

* Active Pagination: text, background, border colors

* Inactive Pagination: text, background, border colors

* Progress Bar: foreground and background colors

* Counter: text color

* Uses WordPress preset color classes and custom inline styles (no CSS custom properties)

♿ Accessibility First

* ARIA labels and semantic HTML structure

* Keyboard navigation support (arrow keys, Enter, Space)

* Screen reader friendly with live regions

* WCAG compliant markup

* Focus management and visible focus states

🔧 Developer Features

* WordPress Interactivity API for reactive frontend behavior

registerBlockVariation()

* Carousel options via carouselOptions attribute (legacy splideOptions auto-migrated)

* Extensible template system with WordPress hooks

* Breakpoint configuration via JSON file

* React hooks for responsive state management

* Standard WordPress color classes for theme integration

* Well-documented, modular code structure

Works With Any Block

The Carousel block is a container that accepts any WordPress block as slides:

* Core Image block

* Core Paragraph block

* Core Heading block

* Core Group block

* Core Cover block

* Core Buttons block

* Custom blocks from other plugins

* Your own custom blocks

Each slide is fully customizable using WordPress’s native block editing tools.

Built on Embla Carousel

x – a lightweight, extensible, and performant carousel library. No jQuery required. Optimized for modern browsers with the WordPress Interactivity API for reactive state management.

Part of Groundworx Core

This carousel block is part of the Groundworx Block Suite—a modular collection of high-performance, design-focused blocks built for modern WordPress development. Uses Groundworx Foundation components for consistent, professional UI controls.

Need More? Check Out Groundworx Showcase

) is built into the block itself. It’s a great fit for static content like testimonials, feature highlights, or image galleries where you control every slide.

Groundworx Showcase takes a fundamentally different approach: a modular block system where every piece — the carousel, the slides, and each navigation control — is its own independent block. 12 blocks, 4 flow types, and full query support.

Query & Content:

  • Query-driven carousels — Pull slides automatically from posts, pages, custom post types, or WooCommerce products. Filter by taxonomies, date, authors, keyword, and post formats. Set max items and sort order. Or switch to Curated mode to hand-pick specific posts.
  • Block pattern support — Design your slide layout with blocks (title, excerpt, image, buttons — whatever you want), and every queried post fills that pattern. Works just like WordPress’s Query Loop block — pick a pattern, change it later, every slide updates.
  • 4 Flow types — Dynamic Flow (query carousel), Static Flow (manual carousel), Dynamic Content (query grid/flex), and Flow Template (reusable slide pattern). Dynamic Content outputs the same query to grid or flex layouts instead of a carousel.

Modular Controls:

  • Independent navigation blocks — Arrows, pagination, progress bar, and counter are separate blocks inside the carousel. Wrap them in groups, columns, or any container block to build your own layout — they’re not locked to fixed positions.
  • More control over every component — Each piece is its own block with its own settings, spacing, and layout options.

Carousel Options:

  • More modes — Fade transitions, vertical slides, auto-scroll (continuous scrolling), and RTL text direction — in addition to slide and loop.
  • Fine-grained timing — Customizable slide animation duration, autoplay with configurable interval, auto-scroll with configurable speed, and pause-on-hover for both autoplay and auto-scroll.
  • Video support — Videos automatically pause when their slide is not active.
  • Per-breakpoint layout switching — Switch between carousel, grid, and flex at every breakpoint independently. For example: carousel on mobile, grid on tablet, carousel again on desktop. Carousel only supports a one-way break to grid — once destroyed, it stays grid at all larger breakpoints.

Carousel vs. Showcase at a glance:

  • Carousel: One block, manual slides, built-in navigation, slide/loop modes, one-way grid fallback — simple and self-contained
  • Showcase: 12 modular blocks, query-driven or curated, slide/loop/fade/auto-scroll modes, vertical slides, RTL, per-breakpoint carousel/grid/flex switching — flexible and composable

Showcase is ideal when you need:

  • Carousels that populate automatically from your content
  • Block patterns applied to query-driven slides — like the Query Loop block, but for carousels
  • Full control over navigation layout — wrap controls in any block container
  • The same query powering both carousel and grid views

Learn more about Groundworx Showcase →

Developer Notes

Registering Custom Block Variations

registerBlockVariation() and pass carousel configuration options via the carouselOptions attribute.

Example: Carousel with Grid Fallback at Tablet

registerBlockVariation('groundworx/carousel', { name: 'carousel-to-tablet', title: 'Carousel / Grid Tablet', attributes: { template: 'default', carouselOptions: { type: 'loop', perPage: 1, arrows: true, pagination: true, containScroll: 'trimSnaps', breakpoints: { tablet: { destroy: true } } }, breakpoints: { tablet: { layout: { type: 'grid', columnCount: 3 } } } }, scope: ['block', 'inserter', 'transform'] });

Example: Auto-Width Carousel

registerBlockVariation('groundworx/carousel', { name: 'auto-width-carousel', title: 'Auto Width Carousel', attributes: { carouselOptions: { type: 'loop', fixedWidth: '300px', align: 'center', gap: '1rem' } } });

Adding Custom Templates

templates filter to add custom templates:

templates, { label: 'My Custom Template', value: 'my-custom' } ] );

Then add your template styles in your theme:

gwx-carousel__slide { /* Your custom styles */ }

Supported Breakpoints

The carousel supports 5 configurable responsive breakpoints plus a mobile/default base, following a mobile-first approach:

  • Mobile/Default: 0-479px (base configuration)
  • large-phone: 480px and up
  • tablet: 680px and up
  • laptop: 1080px and up
  • desktop: 1280px and up
  • large-desktop: 1440px and up

Settings cascade from mobile to larger screens. Override at any breakpoint to change behavior.

Grid Fallback Breakpoints:

For grid fallback functionality, you can use any of the 5 breakpoints: large-phone, tablet, laptop, desktop, or large-desktop.

Carousel Options

Carousel options are configured via the carouselOptions attribute. Common options:

  • type: ‘slide’ or ‘loop’
  • perPage: Number of slides per page
  • slidesToScroll: Number of slides to scroll per action (default: 1)
  • fixedWidth: Fixed width for each slide (e.g., ‘300px’)
  • gap: Space between slides
  • align: Slide alignment — ‘start’, ‘center’, or ‘end’
  • containScroll: Trim empty scroll snaps — ‘trimSnaps’ or false
  • autoplay: Enable/disable autoplay
  • arrows: Show/hide arrows
  • pagination: Show/hide pagination
  • progressBar: Show/hide progress bar
  • counter: Show/hide slide counter
  • destroy: Disable carousel and display as grid

Breakpoint-specific overrides are supported via the breakpoints attribute. Legacy splideOptions are automatically converted on render.

Color System

All UI element colors use the standard WordPress color pattern:

  • Preset colors apply WordPress utility classes ( has-text-color, has-{slug}-color, has-background, has-border-color )
  • Custom colors apply inline styles

Pagination dot colors toggle dynamically between active and inactive states using the WordPress Interactivity API ( data-wp-class for presets, data-wp-style for custom colors).

Elements with color support:

  • Arrows: text, background, border
  • Pagination (active): text, background (number style), border (number style)
  • Pagination (inactive): text, background (number style), border (number style)
  • Progress bar: track background, bar foreground
  • Counter: text

Template Classes

Each template adds a class to the carousel wrapper:

template-default

template-default-alt

template-simple

template-simple-left

template-simple-right

template-overlay

template-overlay-alt

template-partial-overlay

template-partial-overlay-alt

Use these for template-specific styling.

Privacy

This plugin does not collect, store, or transmit any user data. It operates entirely within your WordPress installation and does not make external API calls except for loading assets from your own server.

Credits

  • Built with Embla Carousel by David Jerleke – A lightweight, extensible carousel library
  • Developed by Groundworx Agency LLC
  • Created and maintained by Johanne Courtright
  • Part of the Groundworx Core framework
  • Website: https://groundworx.dev
  • Support: https://ko-fi.com/groundworx

Additional Resources

  • Full Documentation
  • Developer Guide
  • Block Variations Examples
  • Embla Carousel Documentation
  • Groundworx Core Framework
  • GitHub Repository
  • Report Issues
WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • block
  • carousel
  • gutenberg
  • responsive
  • slider
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 6.5 · PHP 7.4
Update activity27 Aug 20262mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.