WP Swiper
WP Swiper
Description
WP Swiper adds a flexible carousel block to the WordPress editor. Each slide accepts standard nested blocks, so you can combine images, headings, buttons, video, and other block content without using a separate page builder.
Highlights
- Build slides with nested WordPress blocks.
- Choose from seven editable in-block starter templates without adding extra block types.
- Create horizontal or vertical responsive carousels.
- Configure navigation, pagination, autoplay, loop mode, free mode, and transition effects.
- Set responsive breakpoints, spacing, offsets, and slides per view.
- Add background images, focal points, overlays, thumbnails, and custom navigation icons.
- Drag image files into the editor to create slides.
- Load frontend assets only when a slider is detected, with an optional global-loading setting for custom setups.
- Use the bundled Swiper 14 runtime without a jQuery dependency.
Accessibility
Since version 1.4.6, WP Swiper removes non-visible slides from the accessibility tree and keyboard tab order. Focusable content is restored when its slide becomes visible, including in responsive layouts that display multiple slides.
This behavior addresses one carousel accessibility barrier, but it is not a certification that WP Swiper or a website using it conforms to WCAG. Conformance must be evaluated for the complete published page and depends on the carousel configuration, slide content, theme, and other integrations.
Site authors remain responsible for accessible content and configuration. Provide meaningful image alternatives, logical headings, readable contrast, and clear control labels. If autoplay is enabled, enable the pause/play control so users can stop rotation. Rotation stops when keyboard focus enters the carousel and restarts only after an explicit user request. See the W3C carousel accessibility guidance.
Privacy
WP Swiper does not include analytics, advertising, tracking, or telemetry. Images selected through the editor are handled by the standard WordPress Media Library and REST API.
Support and development
For usage questions, use the WordPress.org support forum. Report reproducible bugs and feature requests on GitHub. Security issues should be reported privately according to the repository security policy.
Development is supported through Buy Me a Coffee.
Developer filter
The wpswiper_frontend_js_register_args filter can change the dependencies and loading arguments used for the plugin’s frontend script.
add_filter( 'wpswiper_frontend_js_register_args', function ( $args ) {
$args['deps'][] = 'jquery';
$args['args'] = array(
'in_footer' => true,
'strategy' => 'defer',
);
return $args;
} );
See the wp_enqueue_script() documentation for supported loading arguments.
Frontend lifecycle
WP Swiper automatically initializes blocks added after page load. Navigation and AJAX integrations can also call window.wpSwiperInit(element), window.wpSwiperDestroy(element), or window.wpSwiperReinit(element) with a .wp-swiper block wrapper.
Runtime configuration corrections dispatch a wp-swiper:warning browser event with a structured diagnostic. Initialization failures dispatch wp-swiper:error, and explicit destruction dispatches wp-swiper:destroy.
Contributing
WP Swiper is developed openly on GitHub, and community contributions are welcome.
- Report reproducible bugs through the GitHub issue tracker.
- Suggest focused improvements and new features.
- Improve documentation, translations, accessibility, or test coverage.
- Submit pull requests after reviewing the contribution guide.
Please report security issues privately according to the security policy.
Installation
- In WordPress, go to Plugins > Add New.
- Search for “WP Swiper” and select Install Now.
- Activate the plugin.
- Add the WP Swiper block in the block editor and insert content into its slides.
For a manual installation, upload the wp-swiper directory to /wp-content/plugins/ and activate the plugin from the Plugins screen.
Screenshots
Faq
Yes. Each slide supports nested blocks such as images, headings, paragraphs, buttons, video, and layout blocks.
By default, frontend assets load when the plugin detects a WP Swiper block. The Settings > WP Swiper screen includes an option to load them globally for custom templates or integrations that cannot be detected automatically.
No. WP Swiper has no analytics, tracking, advertising, or telemetry service.
The bundled Swiper 14 runtime supports Chrome and Edge 110 or newer, Firefox 110 or newer, and Safari 16.4 or newer.
Reviews
Great
By Harun Sekmen (sekmenq) on February 15, 2025
It works very well, congratulations
So far the best swiperjs adaption for WordPress
By chris (achensee) on November 2, 2024
Clean and simple block design, easy to implement, no unnecessary bloat. Thank you for providing this plugin.
Amazing
By Miguel (teledirigido) on September 27, 2024
Wow, thank you very much for such a dedicated work. this plugin works great with gutenberg.
Perfect!
By triggame on September 9, 2024
Been searching for a true slider plugin like this for a very long time.
Integrates with blocks perfectly.
Thank you!
Slick & User Friendly
By 2chicks on July 11, 2024
After exhaustive research I found this awesome plugin that helped me build a row slider. I think it's the only one available that will do this exact thing. I am so pleased. Thanks for this super useful plugin.
Superb!
By leanderbraunschweig on June 13, 2024
Just wanted to chime in and add to the positive reviews so far – great implementation of SwiperJS and so far this plugin does exactly what I needed...!
Lightweight and clean setup and the straight-forward possibility to add nested blocks to each slides is what makes it stand out for me.
Many thanks for sharing this & keep it up!
YouTube link thumbnail not showing
By vitosbaltos on May 10, 2024
Please display the youtube button in the slider thumbnails. When adding a link from youtube, there is an empty space where the thumbnail should be. Thank you.
Almost Perfect
By cvladan on February 21, 2024
WP Swiper is one of the best out of all WP Sliders I've tried, and I've tried about 15 of them because:
- it uses SwiperJS which does not have a jQuery dependency. Well, there are about 5 others like this using same library, but few of them support the next option
- it supports the "Slides per View" option, so it can be used normally as a Logo slider. Btw, Gutenslider, for example, asks money for this option (???)
- each slide can be any content, so creating linkable images is not a problem
The only downside is that it loads assets on every page, even where block is not used, but this can be solved.
I'm asking the author to implement this - conditional loading only when the block is used. It's simple, just register assets normally, and then enqueue them in "render_block". That's it.
Thank you in advance!
The best slider plugin!
By Anonymous User 18721493 (anonymized_18721493) on November 14, 2023
Fully integrated with Gutenberg, it's really simple to setup and make great sliders. With no jQuery dependency, it is really lightweight (as far as a JS slider can be). Really recommend it.
Really great plugin!
By voneff on October 20, 2023
Great plugin, works right out of the box! I stuffed some rather complex nested GenerateBlocks containers in those slides and expected them to break, but it worked perfectly. The admin interface is still pretty basic, but it does the job. Also, there aren't many options for style customizations, but that can easily be done with a little CSS. Much more important: It's fast and works really well! Additional points for: no upsells, no nagging, no extra custom post type... Thanks for putting this out there!
Changelog
1.5.0
- Added seven editable in-block starter templates for blank, gallery, hero, card, logo, testimonial, and thumbnail-gallery carousels.
- Kept every starter template within the existing WP Swiper block and standard WordPress content blocks.
- Improved the reliability and testability of slide collection and advanced configuration editing.
- Reduced the default navigation arrow icon size while preserving its larger click target.
1.4.9
- Restored block editor compatibility with WordPress 6.3 by using compatible JSX output.
- Added accessible names to the editor controls for adding and removing slides.
- Removed editor warnings caused by deprecated Popover and SVG properties.
- Expanded automated coverage for packaged editor, frontend, and legacy block behavior.
1.4.8
- Fixed a Gutenberg crash when loading legacy sliders with responsive breakpoints.
- Made the frontend autoplay pause/play control optional and disabled it by default.
- Replaced the autoplay text button with a minimal pause/play icon when enabled.
- Prevented unnecessary slide metadata updates when adding or editing sliders.
- Kept image-only slides visible on the frontend when auto height is enabled.
1.4.7
- Restored block editor styling that was not enqueued in versions 1.4.5 and 1.4.6.
- Restored support for fractional slides-per-view values such as 1.2.
- Added migration support for slider blocks saved by version 1.3.10.
- Restored multi-image selection from the Media Library.
- Fixed mousewheel, pagination, autoplay, and breakpoint configuration handling.
- Kept slide selection stable when slides are removed or reordered.
- Isolated invalid slider configurations and initialized sliders added after page load.
- Added configurable carousel names, autoplay controls, and reduced-motion support.
- Preserved version 1.4.6 markup for backward-compatible block migration.
- Added shared runtime configuration validation and frontend destroy/reinitialize APIs.
1.4.6
- Improved carousel accessibility by removing non-visible slides from the accessibility tree and keyboard tab order.
1.4.5
- Updated the bundled Swiper runtime to 14.0.5.
- Added reproducible dependency syncing for the bundled Swiper assets.
- Added public development and contribution documentation.
- Updated the browser baseline to Chrome and Edge 110+, Firefox 110+, and Safari 16.4+.
1.4.4
- Improved the editor interface and slide controls.
- Refreshed the WordPress.org screenshots.
- Confirmed compatibility with WordPress 7.0.
1.4.3
- Added multi-image Media Library selection for creating slides.
- Retained drag-and-drop image creation as an alternative workflow.
1.4.2
- Fixed an editor error caused by reading
substringfrom an undefined value.
1.4.1
- Updated image selection to use the WordPress Media Library.
1.4.0
- Updated the bundled Swiper library to 12.0.2.
- Modernized the block editor interface and slide-management controls.
- Added drag-and-drop image creation and improved drop-zone feedback.
- Added new styling controls and prepared the editor for future enhancements.
- Fixed autoplay attribute references and block validation issues.
1.3.10
- Improved auto-slide-width performance by removing an unnecessary high-frequency event handler.
1.3.9
- Added automatic slide-width support.
1.3.8
- Fixed autoplay behavior.
1.3.7
- Extended free-mode support.
- Added
loopAdditionalSlidessupport. - Removed the jQuery dependency.
1.3.6
- Allowed an autoplay delay of zero.
1.3.5
- Fixed overlay-color persistence.
- Added an option to display slider overflow.
1.3.4
- Fixed settings registration for the WP Swiper options page.
1.3.3
- Standardized asset paths through plugin URL and path constants.
1.3.1
- Added an overlay-color reset control.
1.3.0
- Reorganized the plugin structure.
- Improved the editor interface.
- Updated the bundled Swiper library.
- Added slides-per-group support.
1.2.18
- Added support for
asyncanddeferfrontend script-loading strategies. - Extended the frontend registration filter to control dependencies and script arguments.
1.2.0
- Consolidated slider settings into the
data-swiperconfiguration attribute. - Added the WP Swiper settings page.
- Added conditional frontend asset loading.
- Updated the bundled Swiper library to 11.1.14.
For earlier release history, see the WordPress.org development page.


