SmartUpWorld Post Slider
A lightweight, accessible post slider for WordPress. Show your latest posts anywhere with one shortcode, then choose what the cards show, the button colours and the timing from the dashboard.
Version 1.1.0 Free No jQueryDownload from WordPress.org
What Is SmartUpWorld Post Slider?
SmartUpWorld Post Slider shows your posts as a responsive carousel of full-image cards, each with a category badge, author, date and a Read More button. Paste one shortcode into any post, page, widget or template. Everything else is optional.
Key features:
- One shortcode —
[suwps_post_slider]— for posts, pages, widgets and PHP templates - Full-image cards with category badge, author, date and a Read More button
- Every part can be switched on or off: category, author, date, Read More button, arrows, dots, autoplay and pause button
- Settings page for the defaults: what the cards show, time per slide, Read More label and button colours
- Shortcode attributes override the settings for a single slider
- Responsive — 1, 2 or 3 cards, depending on the space the slider has rather than the screen size
- Filter by category, show specific posts by ID, or skip the post being viewed
- Uses the primary category from Rank Math or Yoast SEO when one is set
- Works with any theme, with right-to-left languages, and with WebP plugins such as Imagify that wrap images in
<picture>tags - Built to WCAG 2.2 level AA, with about 10 KB of JavaScript and no jQuery
Installation
- Go to Plugins → Add New in your WordPress dashboard, search for SmartUpWorld Post Slider, and click Install Now. Or download from WordPress.org and upload the zip.
- Click Activate.
- Paste
[suwps_post_slider]into any post, page, or widget. - Optional: open Post Slider → Settings in your admin sidebar to choose what the cards show, the time per slide and the button colours. The Shortcode Guide tab lists every attribute with copy-ready examples.
Basic Shortcode
Drop this anywhere to display your 8 latest published posts in a responsive carousel:
[suwps_post_slider]
In a PHP template file:
<?php echo do_shortcode( '[suwps_post_slider]' ); ?>
Dashboard Settings
Under Post Slider → Settings you set the defaults for every slider on your site. A shortcode attribute overrides the setting for that one slider, so you can still make an individual slider look different.
Show on the slider
Switch each part on or off. Everything is on by default.
- Category badge — the post's category above the title
- Author — the author's display name
- Date — in the date format from Settings → General, in your site language
- Read More button
- Arrows — the slim tabs on the left and right edges
- Dots — one per screenful of cards
- Autoplay — slides move on their own while the slider is on screen
- Pause button — required for accessibility (WCAG 2.2.2) whenever autoplay is on
Time per slide
How long each slide stays before the next one moves in, from 2 to 15 seconds. The default is 4 seconds; lower is faster.
Read More label
Your own button text, for example Lees meer on a Dutch site. Left empty, the button says “Read More”, translated automatically when a translation for your language is available.
Button colours
| Setting | Default | Used for |
|---|---|---|
| Accent colour | #9b6b3a | Category badge, active dot, pause button and arrow hover. |
| Read More button background | White at 18% opacity | The frosted Read More button. |
| Read More button text | #ffffff | The button label. |
| Read More button hover background | Accent colour | The button when a visitor hovers over the card. Leave empty to follow the accent colour. |
| Arrow background | White at 55% opacity | The slim arrow tabs. |
| Arrow icon | #333333 | The arrow chevron. On hover, arrows use the accent colour with a white icon. |
All Shortcode Attributes
“Settings” in the Default column means the value set under Post Slider → Settings.
| Attribute | Default | Description |
|---|---|---|
eyebrow | — | Small pill label above the section title. Omit to hide. |
title | — | Section heading rendered as an H2. Omit to hide the header. |
subtitle | — | Text below the title. Omit to hide. |
underline | true | Gradient line under the title. Set to false to remove it. |
count | 8 | Number of posts, from 1 to 50. |
category | — | Filter by category slug or numeric ID. Example: category="tech" or category="14". |
ids | — | Comma-separated post IDs, shown in that order. Overrides count and category. |
skip | — | Set to current to leave out the post being viewed. Ideal for single post templates. |
layout | fullwidth | fullwidth fills the area the shortcode is placed in; contained centres the slider at 1200px. |
cat | Settings | Category badge: true or false. |
author | Settings | Author: true or false. |
date | Settings | Date: true or false. |
readmore | Settings | Read More button: true or false. |
readmore_text | Settings | Read More button label, for example readmore_text="Lees meer". |
nav | Settings | Arrows: true or false. |
dots | Settings | Dots: true or false. |
autoplay | Settings | Move slides automatically: true or false. |
pause | Settings | Pause button, shown only with autoplay: true or false. |
delay | Settings | Seconds each slide stays before autoplay moves on, from 2 to 15. Example: delay="6". |
loop | true | Start again from the first post after the last: true or false. |
accent | Settings | Accent colour for this slider only. Example: accent="#2c6e49". |
priority | false | Set to true when the slider is at the top of the page, so its first image loads first. |
Usage Examples
[suwps_post_slider]
[suwps_post_slider title="Latest Insights"]
[suwps_post_slider eyebrow="From The Blog" title="Latest Insights" subtitle="Practical guides on website care, speed and security."]
[suwps_post_slider title="Related Articles" underline="false" count="6" skip="current" nav="false"]
[suwps_post_slider title="Tech Articles" category="tech" count="6"]
[suwps_post_slider title="Featured Posts" ids="12,45,67,89"]
[suwps_post_slider nav="false" dots="false"]
[suwps_post_slider cat="false" author="false" date="false"]
[suwps_post_slider readmore_text="Lees meer" accent="#2c6e49"]
[suwps_post_slider delay="6"]
[suwps_post_slider priority="true"]
Accessibility
The slider is built to meet WCAG 2.2 level AA:
- A pause/play button whenever slides move on their own (WCAG 2.2.2)
- Slides stop while the mouse is over them, as soon as a keyboard user enters the slider, and for good once a visitor uses the arrows, dots or swipes
- For visitors who have asked their device to reduce motion, slides switch instantly instead of gliding
- Every card can be reached with the Tab key; the focused card always slides into view, with a clear focus outline
- Labelled buttons, slide positions announced to screen readers, and click targets of at least 24px
- Default colours meet the AA contrast ratios, including text over photos
If you change the colours, keep text at a contrast ratio of at least 4.5:1 against its background, and keep the pause button on while autoplay is on.
Performance
- No jQuery. The carousel runs on Embla Carousel (MIT License): about 10 KB of JavaScript, gzipped, in total
- CSS and JavaScript load only on pages that use the shortcode, and the scripts are deferred
- No layout shift while the page loads — the cards are laid out with CSS before the script runs
- Images use responsive sizes and lazy loading, and the next cards preload just before they slide in
- Autoplay only runs while the slider is visible on screen
- Add
priority="true"when the slider is at the top of a page, so its first image loads first
Upgrading from 1.0
Existing shortcodes keep working. A few things look or behave differently:
- New default design. Full-image cards in a bronze colour scheme replace the blue design. Pick your own colours under Post Slider → Settings → Button colours.
- Width. Sliders now fill the area they are placed in. Use
layout="contained"for the previous centred 1200px width. - CSS classes. The slider's classes now start with
suwps-instead ofsuw-. Custom CSS written for the old classes needs updating; theme rules for the old classes no longer affect the slider. - Owl Carousel. The plugin no longer loads Owl Carousel. If your theme used the plugin's copy for its own sliders, load Owl Carousel from the theme instead.
Frequently Asked Questions
No. Install, activate, and paste the shortcode. It works out of the box with your existing posts. The Settings page is only needed if you want to change the defaults.
No. The plugin does not load Owl Carousel or jQuery, and its styles use its own suwps- class names, so sliders from your theme or other plugins are not affected.
Very little. Assets only load on pages where the shortcode is used, the scripts are deferred, nothing shifts while the page loads, and images lazy-load at the right size.
Use skip="current" to exclude the post the visitor is reading: [suwps_post_slider title="Related Articles" skip="current"]
Yes — use the category attribute with a slug or numeric ID: [suwps_post_slider category="news"]
Untick them under Post Slider → Settings to hide them on every slider, or use date="false", author="false" or cat="false" on a single slider.
Type your own label under Post Slider → Settings, or use readmore_text="Lees meer" on a single slider.
Yes. Set Time per slide under Post Slider → Settings, from 2 to 15 seconds. For one slider only, use delay="6".
Content that moves on its own needs a way to stop it (WCAG 2.2.2). You can hide the button under Post Slider → Settings, but the slider then no longer meets that requirement while autoplay is on.
Yes. The photo fills the whole card even when an image plugin such as Imagify, EWWW or ShortPixel wraps it in a <picture> tag.
Changelog
- New default design: full-image cards with category badge, author, date and a frosted Read More button.
- New Settings tab: show or hide the category, author, date, Read More button, arrows, dots, autoplay and pause button; set the time per slide; pick the button colours; set the Read More label.
- New shortcode attributes:
cat,author,date,readmore,readmore_text,autoplay,pause,delay,loop,accentandpriority. - Replaced Owl Carousel, which is no longer maintained and needs jQuery, with Embla Carousel 8.6. No jQuery, less JavaScript.
- Accessibility: pause/play button, slides stop on interaction and keyboard focus, focused cards slide into view, visible focus outlines, 24px click targets, contrast-safe default colours, no sliding animation with reduced motion.
- Performance: no layout shift while loading, deferred scripts, responsive image sizes, preloading of the next cards, autoplay only while visible, and a priority option for sliders at the top of a page.
- Works with WebP and lazy-load plugins that wrap images in
<picture>tags. - The card category uses the Rank Math or Yoast SEO primary category when set, and skips “Uncategorized”.
- Changed:
layoutnow defaults tofullwidth. Uselayout="contained"for the previous centred 1200px width. - Changed: CSS classes now use the
suwps-prefix.
- Renamed the shortcode tag to
[suwps_post_slider]for a unique, conflict-free prefix. - Moved admin page CSS and JavaScript into properly enqueued files.
- Renamed the
excludeattribute toskip.
- Initial release.
- Bundled Owl Carousel 2.3.4 — no CDN dependency.
- Shortcode attributes: eyebrow, title, subtitle, underline, count, category, ids, exclude, layout, nav, dots.
- ARIA accessibility — labelled nav buttons and dots.
- LCP-safe eager loading on first slide image.
- Admin documentation page with copy-ready examples.