WP Manifestindependent plugin directory
manifest / content / client-story-swiper

Client Stories Swiper self-updates

Each "Client Story" post is its own Swiper.js slider — add multiple slides (image, subtitle, title, position, story text), configure that slider's own settings (desktop/mobile slides per view, speed, pagination, autoplay, arrows, colors), and embed it with its own unique shortcode.

by LocusDigital · github.com/webkeith/client-story-swiper · website

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/webkeith/client-story-swiper/archive/refs/heads/main.zip

Ships its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.

A Custom Post Type + Swiper.js carousel builder. Each "Client Story" post is its own slider — add as many slides as you like (photo, subtitle, title, position, story text), and configure that slider's own look and behavior (slides-per-view, speed, pagination, autoplay, arrows, colors) right on its edit screen. Every slider gets its own unique shortcode to embed independently.

Installation

  1. Upload the whole client-stories-swiper folder to /wp-content/plugins/.
  2. Activate "Client Stories Swiper" through the Plugins screen in WordPress.
  3. A new "Client Stories" menu item appears in the admin sidebar.

Creating a Slider

  1. Go to Client Stories → Add New. Each post you create here is one slider.
  2. Set the post Title (used internally in the admin list only, to identify this slider — e.g. "Homepage Testimonials").
  3. In the "Slides" box, fill in one row per client story:
    • Photo — click "Upload / Browse" to upload a new photo or pick one from the Media Library.
    • Case Number — leave blank to auto-number ("CASE 01", "CASE 02", ...) based on the slide's order, or enter a number to override.
    • Subtitle — short label shown after the case number, e.g. "Sustainable Fat Loss".
    • Title — defaults to "Client Story".
    • Position — defaults to "1:1 Client".
    • Client Story — the quote/testimonial text. Defaults to the standard "pending consent" placeholder text.
  4. Click "+ Add Slide" to add more client stories to this slider. Drag the handle (☰) on the left of a slide to reorder it. Click the trash icon to remove a slide.
  5. In the "Carousel Settings" box (below Slides), configure this slider's own look and behavior:
    • Slides per view (desktop, 1024px+ and mobile, below 1024px)
    • Speed (transition duration in ms)
    • Loop — repeats slides seamlessly (back to the first after the last) and keeps the row looking full even if there are fewer slides than "Slides Per View". On by default; automatically turned on if Autoplay is enabled, regardless of this setting.
    • Autoplay (on/off + delay)
    • Pagination dots (on/off)
    • Arrows (on/off)
    • Border color (default #00bdd6)
    • Background color
    • Title color
    • Subtitle color
    • Custom CSS — raw CSS applied only to this slider. The field's placeholder/description shows this slider's actual wrapper ID (e.g. #cst-swiper-123) to scope your rules to just this slider, e.g. #cst-swiper-123 .cst-title { font-size: 24px; }.
  6. Publish (or just Save Draft — the shortcode works once the post has been saved).

Displaying a Slider

Every Client Story slider has its own unique shortcode, shown in the "Shortcode" box on its edit screen (and in the Shortcode column on the Client Stories list) — click "Copy Shortcode" and paste it into any page or post:

[client_stories_swiper id="123"]

The id is that specific slider's post ID, so each slider you create can be placed independently, wherever you like, with its own settings, without pulling in slides or settings from any other slider.

Fonts

Body text uses Figtree; the card title uses Outfit. Both are loaded automatically from Google Fonts when the shortcode is present on a page.

Updates

This plugin isn't on WordPress.org — it updates itself by checking a GitHub repository's Releases. For a public repo (the default), this works out of the box with no access token needed — GitHub's API allows unauthenticated, read-only access to a public repo's releases. A token is only needed for a private repo, or to raise the API rate limit. Client Stories → Updates shows a live "Update status" panel (installed vs. latest version, whether a token is in use, a "Check Now" button) so you can confirm it's working. Full release steps for maintainers are in VERSION-CONTROL.md; a history of what shipped in each version is in CHANGELOG.md.

Changelog

See CHANGELOG.md in the plugin folder for the full history.

1.6.0

  • Added a Loop setting to each slider's Carousel Settings — repeats slides seamlessly so the carousel always looks filled, even with fewer slides than "Slides Per View". On by default for new and existing sliders; still forced on automatically when Autoplay is enabled.

1.5.0

  • Added an "Update status" panel to Client Stories → Updates: installed vs. latest GitHub version, whether a token is being used, and a "Check Now" button — confirms updates work with no token for a public repo.

1.4.0

  • Added Title Color and Subtitle Color to each slider's Carousel Settings.
  • Added a per-slider Custom CSS field. Its description shows that slider's stable wrapper ID (e.g. #cst-swiper-123) as a targeting suggestion, so custom rules only ever affect that one slider.
  • Each slider's front-end wrapper now has a stable, predictable ID (#cst-swiper-{post ID}) instead of one that could change between page loads.

1.3.1

1.3.0

  • Carousel Settings (slides per view, speed, pagination, autoplay, arrows, border/background color) moved from a single global settings page to each Client Story slider's own edit screen — every slider now has its own independent look and behavior.
  • The global settings page ("Client Stories → Updates") now only holds the GitHub repo/token used by the plugin updater.
  • Existing installs: a slider without its own settings yet falls back to whatever the old global settings were, so nothing changes visually until you open a slider and adjust it.

1.2.0

  • Added a self-hosted, GitHub Releases-based plugin updater with a "Check for updates" link and update-details popup.
  • Added GitHub repo/token fields under Plugin Updates settings.
  • Added CHANGELOG.md and VERSION-CONTROL.md.

1.1.0

  • Each Client Story post is now its own slider holding multiple slides (repeater field: add/remove/drag to reorder).
  • Every slider has its own unique, copyable shortcode.

1.0.0

  • Initial release.