Repository navigation
Releases: yoshidaman99/elementor-container-carousel
Release list
v1.1.32
Bug Fixes
Fix slide width calculation
- Changed slidesPerView to 'auto' with CSS width control to prevent Elementor flex container from overriding Swiper slide widths
- Added flex-shrink: 0 and width: auto to .swiper-slide to prevent Elementor layout conflicts
- Added dynamic per-widget <style> blocks with calc-based slide widths for each responsive breakpoint
- Fixes incorrect card count display (e.g. showing 4 cards instead of 3 on desktop)
v1.1.31
What's New
Label Updates
- Renamed control labels for clarity:
- Slides Per View → Desktop Cards / Tablet Cards / Mobile Cards
- Slides Per Group → Desktop Cards to Slide / Tablet Cards to Slide / Mobile Cards to Slide
Bug Fixes
- Fixed editor preview: content_template() now outputs full Swiper config via data-swiper attribute
- Fixed editor preview: editor.js now initializes Swiper instances in the Elementor editor
- Added MutationObserver to handle dynamically added carousels in the editor
v1.1.30
What's New
Slides Per Group Control
- Added Slides Per Group control to both Container Carousel and Slides Carousel widgets
- Available per responsive breakpoint (Desktop, Tablet, Mobile)
- Default: 1 card at a time sliding
- Users can configure to slide one card at a time or all visible cards together
Responsive Defaults
- Desktop: 3 cards per view
- Tablet: 2 cards per view
- Mobile: 1 card per view
v1.1.27
Fix getEmptyView patch typo - corrected to so the Elementor 3.35+ compatibility patch properly intercepts the method and returns a valid empty view component.
v1.1.23
What's Changed
- Fix:
getEmptyViewForceMethodImplementation error in Elementor 3.35+ editor by replacing instance-levelinitializepatch with direct prototype override, eliminating timing race condition
v1.1.22
Bug Fix
- Fix editor error: ForceMethodImplementation Widget.getEmptyView() should be implemented (Elementor 3.35+)
- Replace broken patchElementsManager() (which checked for widget type name but getElementTypeClass always receives generic 'widget') with direct Widget.prototype.initialize override
- New patch adds getEmptyView as an own property on our widget instances, shadowing the base class throwing method
v1.1.21
Bug Fix
- Fix fatal error persisting after v1.1.20 — corrupt element data was bypassing the get_post_metadata filter due to Elementor internal caching
- Add wp_enqueue_scripts priority 1 hook (fix_corrupt_document_data) that detects corrupt _elementor_data, writes clean version directly to the DB, and clears WP/meta caches before Elementor processes it
- Wrapped in try/catch to prevent the fix itself from causing errors
- Raised get_post_metadata filter priority from 10 to 1 for earlier interception
v1.1.20
Bug Fix
- Fix fatal error Call to a member function get_default_args() on array caused by incorrect child type resolution
- Replace dead public get_child_type() with correct protected _get_default_child_type()
- Add support_nesting, defaults, and get_raw_data() overrides matching Elementor Widget_Nested_Base pattern
- Harden element data sanitizer to skip elements with missing elType
- Remove unused imports
v1.1.19
Bug Fixes
- Fixed: PHP Fatal Error on frontend —
Call to a member function get_default_args() on arrayinelements.php:79. When the editor was broken (Swiper restructuring DOM), Elementor saved some widget elements with missingwidgetTypekeys. On the frontend,get_widget_types(null)returned the entire widget types array instead of null, causing the fatal error. Added aget_post_metadatafilter that sanitizes_elementor_databy stripping any elements withelType: 'widget'and nowidgetType.
Changed Files
src/Core/Plugin.php— Addedfilter_elementor_data()andsanitize_elements()to clean corrupted element data before Elementor processes itelementor-container-carousel.php— Version bump to 1.1.19
Note
After updating, open any affected pages in the Elementor editor and re-save to permanently fix the corrupted data in the database.
v1.1.18
Bug Fixes
-
Fixed: Editor widget editing broken — Swiper was initializing inside the Elementor editor preview, restructuring child widget DOM and breaking Elementor's element-to-model binding. This caused
Cannot read properties of undefined (reading 'isEditable')when clicking any child widget inside the carousel. -
Fixed: PHP Fatal Error on AJAX widget render — The
getEmptyViewpatch ineditor.jsreturned a class instance (new ProxyType()) instead of a constructor function, causingCall to a member function get_default_args() on arrayfatal error during Elementor's AJAX widget rendering. -
Fixed: Child containers missing swiper-slide class in editor — Added MutationObserver in
editor.jsto assignswiper-slide ecc-slideclasses to child containers in the editor, since Swiper no longer runs there.
Changed Files
assets/js/carousel.min.js— Skip initialization whenwindow.elementoris presentassets/js/editor.js— Return proper class constructor frompatchElementsManager(), add slide class patching observerelementor-container-carousel.php— Version bump to 1.1.18