{"id":312192,"date":"2026-05-20T21:22:52","date_gmt":"2026-05-20T21:22:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sb-carousel-block\/"},"modified":"2026-05-20T21:22:30","modified_gmt":"2026-05-20T21:22:30","slug":"plugvista-carousel-builder-block","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/plugvista-carousel-builder-block\/","author":18006806,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"6.1","requires_php":"7.4","requires_plugins":null,"header_name":"PlugVista Carousel Builder Block","header_author":"Sourav Biswas","header_description":"A carousel slider block powered by Swiper.js with 6 transition effects, built-in lightbox, autoplay, free mode, and keyboard navigation.","assets_banners_color":"cce6ea","last_updated":"2026-05-20 21:22:30","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/sourav.work\/","header_plugin_uri":"","header_author_uri":"https:\/\/sourav.work\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":29,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"souravws","date":"2026-05-20 21:22:30"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3540135,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3540135,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpeg":{"filename":"banner-1544x500.jpeg","revision":3540135,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpeg":{"filename":"banner-772x250.jpeg","revision":3540135,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"sb-carousel\/carousel":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"sb-carousel\/carousel","version":"1.0.0","title":"PlugVista Carousel Block","category":"design","description":"Display a carousel slider using any blocks as slides.","attributes":{"slidesPerView":{"type":"number","default":3},"slidesPerGroup":{"type":"number","default":1},"spaceBetween":{"type":"number","default":15},"speed":{"type":"number","default":300},"slidePadding":{"type":"boolean"},"navigation":{"type":"boolean","default":true},"pagination":{"type":"boolean","default":true},"autoplay":{"type":"boolean","default":false},"autoplaySpeed":{"type":"number","default":3000},"pauseOnMouseEnter":{"type":"boolean","default":false},"disableOnInteraction":{"type":"boolean","default":false},"loop":{"type":"boolean","default":false},"rtl":{"type":"boolean"},"breakpoints":{"type":"array","default":[{"width":768,"slidesPerView":1,"slidesPerGroup":1}]},"resizeObserver":{"type":"boolean","default":false},"observer":{"type":"boolean","default":false},"observeParents":{"type":"boolean","default":false},"observeSlideChildren":{"type":"boolean","default":false},"effect":{"type":"string","default":"slide"},"mousewheel":{"type":"boolean","default":false},"keyboardEnabled":{"type":"boolean","default":false},"freeMode":{"type":"boolean","default":false},"centeredSlides":{"type":"boolean","default":false},"autoHeight":{"type":"boolean","default":false}},"supports":{"align":["wide","full"],"html":false,"anchor":true},"textdomain":"plugvista-carousel-builder-block","editorScript":"pvcb-carousel-editor","editorStyle":"pvcb-carousel-editor","style":"pvcb-carousel-style"},"sb-carousel\/slide":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"sb-carousel\/slide","version":"1.0.0","title":"PlugVista Carousel Slide","parent":["sb-carousel\/carousel"],"category":"design","description":"A single slide within the carousel.","supports":{"html":false},"textdomain":"plugvista-carousel-builder-block","editorScript":"pvcb-slide-editor"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3540135,"resolution":"1","location":"assets","locale":"","width":1310,"height":539},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3540135,"resolution":"2","location":"assets","locale":"","width":1310,"height":539},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3540135,"resolution":"3","location":"assets","locale":"","width":2256,"height":1263}},"screenshots":{"1":"Carousel block in the WordPress block editor showing the horizontal slide preview.","2":"Block settings panel \u2014 Carousel Settings with effect selector, autoplay, and navigation options.","3":"Block settings panel \u2014 Responsive Settings and Advanced options.","4":"Frontend carousel with navigation arrows and pagination dots.","5":"Built-in lightbox opened from an image slide.","6":"Six available slide transition effects."}},"plugin_section":[],"plugin_tags":[1220,786,148076,611,71207],"plugin_category":[50],"plugin_contributors":[261592],"plugin_business_model":[],"class_list":["post-312192","plugin","type-plugin","status-publish","hentry","plugin_tags-block","plugin_tags-carousel","plugin_tags-gutenberg","plugin_tags-slider","plugin_tags-swiper","plugin_category-media","plugin_contributors-souravws","plugin_committers-souravws"],"banners":{"banner":"https:\/\/ps.w.org\/plugvista-carousel-builder-block\/assets\/banner-772x250.jpeg?rev=3540135","banner_2x":"https:\/\/ps.w.org\/plugvista-carousel-builder-block\/assets\/banner-1544x500.jpeg?rev=3540135","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/plugvista-carousel-builder-block\/assets\/icon-128x128.png?rev=3540135","icon_2x":"https:\/\/ps.w.org\/plugvista-carousel-builder-block\/assets\/icon-256x256.png?rev=3540135","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/plugvista-carousel-builder-block\/assets\/screenshot-1.png?rev=3540135","caption":"Carousel block in the WordPress block editor showing the horizontal slide preview."},{"src":"https:\/\/ps.w.org\/plugvista-carousel-builder-block\/assets\/screenshot-2.png?rev=3540135","caption":"Block settings panel \u2014 Carousel Settings with effect selector, autoplay, and navigation options."},{"src":"https:\/\/ps.w.org\/plugvista-carousel-builder-block\/assets\/screenshot-3.png?rev=3540135","caption":"Block settings panel \u2014 Responsive Settings and Advanced options."}],"raw_content":"<!--section=description-->\n<p><strong>PlugVista Carousel Builder Block<\/strong> adds a powerful and flexible carousel slider to the WordPress block editor. Each slide can hold any Gutenberg block \u2014 images, text, buttons, covers, WooCommerce products, and more \u2014 giving you complete creative freedom.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li>Use <strong>any Gutenberg block<\/strong> as slide content<\/li>\n<li><strong>6 slide transition effects<\/strong> \u2014 Slide, Fade, Coverflow, Flip, Cube, Cards<\/li>\n<li><strong>Built-in Lightbox<\/strong> \u2014 click any image in a slide to open a fullscreen modal with keyboard navigation (Arrow keys, Escape) and captions<\/li>\n<li><strong>Free Mode<\/strong> \u2014 physics-based momentum scrolling without snapping, ideal for logo carousels<\/li>\n<li><strong>Centered Slides<\/strong> \u2014 display the active slide in the center with partial neighbors visible on both sides<\/li>\n<li><strong>Auto Height<\/strong> \u2014 carousel height adapts dynamically to the active slide's content<\/li>\n<li><strong>Mousewheel \/ Trackpad Scroll<\/strong> \u2014 navigate slides by scrolling the mouse wheel or trackpad<\/li>\n<li><strong>Keyboard Navigation<\/strong> \u2014 move through slides using the left\/right arrow keys<\/li>\n<li>Navigation arrows (toggleable)<\/li>\n<li>Pagination dots (toggleable)<\/li>\n<li>Autoplay with configurable delay, pause-on-hover, and disable-on-interaction options<\/li>\n<li>Infinite loop sliding<\/li>\n<li>RTL (right-to-left) language support<\/li>\n<li>Live multi-column preview in the block editor<\/li>\n<li>Responsive breakpoints \u2014 configure slides-per-view for mobile separately<\/li>\n<li>CSS variable theming (theme.json compatible)<\/li>\n<li>On-demand loading \u2014 Swiper assets load only on pages that use the carousel<\/li>\n<li>Public JavaScript API for integration with tabs, accordions, and modals<\/li>\n<\/ul>\n\n<h4>Starter Block Patterns<\/h4>\n\n<p>Three ready-to-use block patterns are included:<\/p>\n\n<ul>\n<li><strong>Full Width Hero Slider<\/strong> \u2014 full-width cover slides with call-to-action buttons<\/li>\n<li><strong>Testimonials Slider<\/strong> \u2014 quote blocks with autoplay<\/li>\n<li><strong>Logos Carousel<\/strong> \u2014 image-based logo ticker with free mode<\/li>\n<\/ul>\n\n<h4>CSS Customization<\/h4>\n\n<p>Style the carousel using CSS custom properties in your theme's <code>theme.json<\/code> or Additional CSS:<\/p>\n\n<ul>\n<li><code>--wp--custom--scb--navigation-color<\/code> \u2014 Arrow color<\/li>\n<li><code>--wp--custom--scb--navigation-hover-color<\/code> \u2014 Arrow hover color<\/li>\n<li><code>--wp--custom--scb--navigation-size<\/code> \u2014 Arrow size (height in px)<\/li>\n<li><code>--wp--custom--scb--navigation-sides-offset<\/code> \u2014 Arrow horizontal offset<\/li>\n<li><code>--wp--custom--scb--navigation-alignfull-color<\/code> \u2014 Arrow color for full-width carousels<\/li>\n<li><code>--wp--custom--scb--pagination-bullet-active-color<\/code> \u2014 Active dot color<\/li>\n<li><code>--wp--custom--scb--pagination-bullet-inactive-color<\/code> \u2014 Inactive dot color<\/li>\n<li><code>--wp--custom--scb--pagination-bullet-size<\/code> \u2014 Dot diameter<\/li>\n<li><code>--wp--custom--scb--pagination-bottom<\/code> \u2014 Dot pagination vertical offset<\/li>\n<\/ul>\n\n<h4>Public JavaScript API<\/h4>\n\n<p>Integrate with tabs, accordions, modals, and other dynamic layouts that show\/hide content:<\/p>\n\n<pre><code>window.PlugVistaCarouselBuilder.init(container);   \/\/ Initialize all carousels inside a container\nwindow.PlugVistaCarouselBuilder.update(container); \/\/ Update\/re-initialize existing carousels\n<\/code><\/pre>\n\n<h4>Third-Party Libraries<\/h4>\n\n<p>This plugin bundles the following third-party library:<\/p>\n\n<p><strong>Swiper<\/strong> (https:\/\/swiperjs.com\/)\nLicense: MIT\nCopyright: Vladimir Kharlampidi\nSource: https:\/\/github.com\/nolimits4web\/swiper<\/p>\n\n<p>The full Swiper bundle (v11.2.10, ~154 KB) is included and loaded on-demand only on pages that contain a carousel block.<\/p>\n\n<h3>Credits<\/h3>\n\n<p>Developed by <a href=\"https:\/\/sourav.work\/\">Sourav Biswas<\/a>.<\/p>\n\n<p>Powered by <a href=\"https:\/\/swiperjs.com\/\">Swiper.js<\/a> \u2014 the most modern mobile touch slider, released under the MIT license.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>plugvista-carousel-builder-block<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin from the <strong>Plugins<\/strong> screen in WordPress Admin.<\/li>\n<li>Open any post or page in the block editor.<\/li>\n<li>Click the <strong>+<\/strong> block inserter and search for <strong>\"Carousel\"<\/strong>.<\/li>\n<li>Insert the <strong>Sourav Carousel<\/strong> block. Two default slides will appear.<\/li>\n<li>Click inside a slide to add any block content.<\/li>\n<li>Use the <strong>Block Settings<\/strong> panel on the right to configure the carousel.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20add%20different%20types%20of%20content%20to%20each%20slide%3F\"><h3>Can I add different types of content to each slide?<\/h3><\/dt>\n<dd><p>Yes. Each slide accepts any Gutenberg block \u2014 images, text, headings, buttons, covers, embeds, WooCommerce products, and more.<\/p><\/dd>\n<dt id=\"is%20it%20mobile%20responsive%3F\"><h3>Is it mobile responsive?<\/h3><\/dt>\n<dd><p>Yes. The carousel is fully responsive and touch-enabled. You can set a separate slides-per-view value for mobile via the Responsive Settings panel.<\/p><\/dd>\n<dt id=\"can%20i%20use%20multiple%20carousels%20on%20the%20same%20page%3F\"><h3>Can I use multiple carousels on the same page?<\/h3><\/dt>\n<dd><p>Yes. Each carousel block works independently with its own settings. Swiper assets are loaded only once regardless of how many carousels are on the page.<\/p><\/dd>\n<dt id=\"how%20does%20the%20lightbox%20work%3F\"><h3>How does the lightbox work?<\/h3><\/dt>\n<dd><p>When slides contain <code>core\/image<\/code> blocks, clicking any image opens a fullscreen lightbox overlay. Use the left\/right arrow keys or on-screen buttons to navigate between images, and press Escape (or click the backdrop) to close.<\/p><\/dd>\n<dt id=\"how%20do%20i%20customize%20arrow%20and%20dot%20colors%3F\"><h3>How do I customize arrow and dot colors?<\/h3><\/dt>\n<dd><p>Use CSS custom properties in your theme's <code>theme.json<\/code> under <code>settings.custom.scb<\/code>, or add them to <strong>Appearance &gt; Customize &gt; Additional CSS<\/strong>.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20the%20classic%20editor%3F\"><h3>Does it work with the Classic Editor?<\/h3><\/dt>\n<dd><p>No. This plugin requires the block editor (Gutenberg) and is not compatible with the Classic Editor plugin.<\/p><\/dd>\n<dt id=\"some%20themes%20break%20the%20carousel%20layout.%20what%20should%20i%20do%3F\"><h3>Some themes break the carousel layout. What should I do?<\/h3><\/dt>\n<dd><p>Some themes apply aggressive flexbox rules to <code>.entry-content<\/code> that conflict with the carousel width. Add the following to <strong>Additional CSS<\/strong>:<\/p>\n\n<pre><code>.entry-content { min-width: 0; width: 100%; }\n<\/code><\/pre><\/dd>\n<dt id=\"does%20this%20plugin%20slow%20down%20my%20site%3F\"><h3>Does this plugin slow down my site?<\/h3><\/dt>\n<dd><p>No. Swiper assets are loaded on-demand \u2014 only on pages that contain a carousel block. There are no external HTTP requests and no tracking of any kind.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Carousel block accepting any Gutenberg block as slide content.<\/li>\n<li>Six transition effects: Slide, Fade, Coverflow, Flip, Cube, Cards.<\/li>\n<li>Built-in lightbox with keyboard navigation, prev\/next buttons, captions, and ARIA accessibility.<\/li>\n<li>Navigation arrows and pagination dots (individually toggleable).<\/li>\n<li>Autoplay with configurable delay, pause-on-hover, and disable-on-interaction.<\/li>\n<li>Infinite loop mode with smooth additional-slide buffering.<\/li>\n<li>Free Mode for momentum-based scrolling without snapping.<\/li>\n<li>Centered Slides for active-slide-centered layouts.<\/li>\n<li>Auto Height to match the active slide's content height.<\/li>\n<li>Mousewheel \/ trackpad scroll navigation.<\/li>\n<li>Keyboard arrow-key navigation.<\/li>\n<li>RTL (right-to-left) support.<\/li>\n<li>Responsive breakpoints \u2014 independent slides-per-view for mobile.<\/li>\n<li>Live horizontal multi-column preview in the block editor.<\/li>\n<li>Three starter block patterns: Hero Slider, Testimonials Slider, Logos Carousel.<\/li>\n<li>CSS custom property theming (theme.json compatible).<\/li>\n<li>On-demand Swiper asset loading \u2014 zero impact on pages without the block.<\/li>\n<li>Lightweight custom Swiper build (~84 KB) by default; full bundle auto-enabled for advanced effects.<\/li>\n<li>Public JavaScript API: <code>window.PlugVistaCarouselBuilder.init()<\/code> and <code>.update()<\/code>.<\/li>\n<li>Admin settings page to force the full Swiper bundle globally.<\/li>\n<\/ul>","raw_excerpt":"A carousel slider block with 6 slide effects, built-in lightbox, free mode, keyboard navigation, autoplay, and CSS variable theming.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/312192","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=312192"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/souravws"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=312192"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=312192"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=312192"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=312192"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=312192"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=312192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}