The Post Carousel display format loops through each post referenced by an ACF Post Object or Relationship field and renders them inside a swipeable Swiper.js carousel. Each post becomes its own block context, so any blocks inserted inside repeat per slide.
The carousel supports autoplay, responsive items-per-view, and an items-to-slide stride that controls how many cards advance per swipe or tick.
Supported Field Types
The Post Carousel display format supports the following field types (only when the field allows multiple values):
- Post Object (multi-select)
- Relationship
Inner Blocks (Loop Item)
The loop item is the template rendered once per post referenced by the field — one card per carousel slide. Each post is exposed as block context (postId, postType), so any post-aware block placed inside resolves against that post.
How to add blocks
- Click inside the loop item area. The block ships with a Post Title block as the default template.
- Use the “+” inserter to add blocks. Common choices include:
- Core post blocks: Post Title, Post Featured Image, Post Excerpt, Post Date, Post Author, Post Terms, etc.
- ACF Sub-Field blocks (Text / Image / Button / Icon / etc.) targeting fields attached to the post type. Their Field Source auto-scopes to the current post.
- Standard WordPress blocks (Group, Columns, Heading, Image, etc.) also work for layout.
Editing vs. previewing the carousel
By default the block stays in Edit mode, where only the first post’s loop item is editable and the remaining posts render as live previews. Use the Edit / Preview toolbar toggle to switch to Preview mode, which renders the actual Swiper carousel inside the editor.
Customization
Most of the layout’s appearance comes from the blocks you place inside each slide. The sidebar controls focus on the carousel’s behavior, sizing, and autoplay.
| Customization | Description | Note |
|---|---|---|
| Edit / Preview | Toolbar toggle that switches between editing the slide template and previewing the live carousel inside the editor. | Lives in the block toolbar. Only available when the layout is set to Carousel. |
| Items per slide | Number of cards visible at once per breakpoint (desktop / tablet / mobile). Range: 1–8. | |
| Autoplay | Automatically advances the carousel at a set interval. | |
| Delay | Seconds between automatic advances. Range: 1–10. | Only shown when Autoplay is enabled. |
| Pause on hover | Pauses autoplay while the cursor is over the carousel. | Only shown when Autoplay is enabled. |
| Items to slide | Number of cards advanced per autoplay tick or swipe. Bounded by Items per slide. | Lives in the Carousel Settings panel, with a per-breakpoint responsive control. Only shown when Autoplay is enabled. |
| Direction | Autoplay direction. Options: To Left, To Right. | Only shown when Autoplay is enabled. |
| Items Gap | Pixel spacing between adjacent slides. Range: 0–100. | Lives in the Dimensions panel under “Items Gap” (single horizontal gap). |
| Empty Message | Toggle (“Show message if empty”) plus fallback text shown when the field references no posts. | |
| Layout Variations | Switch the variation to render the same field as a list or grid instead of a carousel. | The List / Grid / Carousel toggles share the same underlying block — switching only changes the type attribute. |
The block also supports the following standard WordPress block controls: Block Alignment (wide, full), Margin, and Padding.