WP Manifestindependent plugin directory
manifest / editor / press-cards-wp

Press Testimonials Slider

Gutenberg block for press quotes & testimonials. Shows as many cards side by side as fit, never wraps – the overflow becomes a swipeable slider on mobile, tablet and desktop. No build step required.

★ 1stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/exzenter/press-cards-wp/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Gutenberg-Block für Pressezitate / Testimonials – wie im Bereich „What the press says“ auf mominstruments.com.

  • Desktop: So viele Karten nebeneinander, wie bei der eingestellten Mindestbreite Platz haben (auf volle Breite gestreckt). Was nicht passt, slidet – es wird nie umgebrochen.
  • Tablet / Mobile: Gleiche Logik, auf dem Handy in der Regel eine Karte – wischbar, mit Pfeilen und Punkten.
  • Autoplay (optional), pausiert bei Hover, Touch, Tastaturfokus, unsichtbarem Tab und bei „Bewegung reduzieren“.
  • Kein Build-Schritt: reines PHP/JS/CSS, kein npm.

Installation

  1. Ordner press-testimonials-slider zippen (oder die mitgelieferte press-testimonials-slider.zip nehmen).
  2. WordPress → Plugins → Installieren → Plugin hochladen → aktivieren. Alternativ den Ordner per FTP nach wp-content/plugins/ kopieren.

Voraussetzungen: WordPress 6.1+, PHP 7.4+.

Benutzung

  1. Im Editor den Block „Testimonials Slider“ einfügen (Suche: „testimonial“, „press“, „slider“).
  2. Es werden drei leere Karten angelegt. Pro Karte:
    • Logo – auf „Add logo“ klicken (Mediathek). Klick aufs Logo ersetzt es.
    • Zitat – direkt in die Karte tippen. Enter = Zeilenumbruch. Text markieren → Link setzen (wie im Original die erste Zeile).
    • Name (z. B. „CDM“) und Untertitel (z. B. „Create Digital Music“).
    • In der rechten Sidebar: Link-URL (Logo und Name verlinken dorthin), „In neuem Tab öffnen“, Alt-Text, Invert logo colors (schwarzes Logo → weiß, praktisch bei dunklem Hintergrund – so wird es auch auf der aktuellen Seite gemacht).
  3. „+ Add testimonial“ rechts neben den Karten fügt weitere Karten hinzu. Reihenfolge ändern über die Pfeile in der Block-Toolbar.

Einstellungen (Eltern-Block, rechte Sidebar)

Alle Standardwerte entsprechen dem Look der aktuellen Seite – ohne Änderung sieht der Block genauso aus wie dort.

Panel Option Standard
Layout Karten pro Breakpoint – Desktop (≥ 1024 px): Auto oder 1–8; Tablet (600–1023 px): Auto oder 1–4; Mobile (< 600 px): Auto oder 1–3 Auto / Auto / Auto
Layout Mindestbreite pro Karte (px) – im Auto-Modus steuert sie, wie viele Karten nebeneinander passen 300
Layout Max. Karten nebeneinander – Obergrenze für sehr breite Bildschirme (z. B. 6 auf 4K), „Reset“ = unbegrenzt unbegrenzt
Layout Abstand zwischen Karten (px) 24
Layout Kartenhöhe: „Equal“ (alle Karten einer Reihe gleich hoch, Name unten bündig) oder „Auto“ (jede Karte so hoch wie ihr Inhalt; die Gesamthöhe animiert beim Sliden auf die höchste sichtbare Karte) Equal
Layout Logo auf Mobile ausblenden (< 600 px) aus
Slider Loop: „Infinite carousel“ (läuft endlos in eine Richtung weiter) oder „Rewind to start“ (springt nach der letzten Karte zurück zur ersten) Infinite
Slider Autoplay + Intervall (Sekunden) an, 6 s
Slider Pfeile / Punkte anzeigen an / an
Slider Barrierefreie Bezeichnung (Screenreader) „Testimonials“
Card style Eckenradius / Rahmenstärke (px) 10 / 1
Card style Innenabstand horizontal / vertikal (px) 28 / 24
Card style Schatten (none / soft / medium / strong) none
Card style Textausrichtung (auch in der Block-Toolbar) links
Card style Karte bei Hover anheben aus
Typography Zitat-Schriftgröße (px, „Reset“ = responsiv 14–17 px) responsiv
Typography Zitat-Zeilenhöhe / kursiv 1.65 / aus
Typography Schriftgröße Name / Untertitel (px) 18 / 14
Typography Zitat-Icon anzeigen + Größe (px) an, 30
Typography Trennlinie über dem Namen an
Logo area Mindesthöhe des Logo-Bereichs / max. Logo-Höhe / Innenabstand (px) 124 / 72 / 28
Arrows & dots Pfeilposition auf Desktop (außen halb über der Kante / innen) außen
Arrows & dots Pfeilgröße / Punktgröße (px) 44 / 10
Colors Akzent, Rahmen, Zitat-Icon, Karten-Hintergrund, Logo-Bereich, Text, Untertitel, Trennlinie, Pfeil-Hintergrund, Pfeil-Icon, Pfeil-Hover, Punkt, aktiver Punkt wie auf der aktuellen Seite

Farben, die auf „(default: …)“ stehen, erben ohne Angabe von Akzent bzw. Rahmen – man muss sie nur setzen, wenn man abweichen will.

Der Block unterstützt Breite „Weit“ / „Volle Breite“ und Abstände (Margin/Padding).

Beispiel-Breiten (alles auf „Auto“, Mindestbreite 300 px, Abstand 24 px)

Container Karten nebeneinander
≥ 1296 px 4
948 – 1295 px 3
624 – 947 px 2
< 624 px 1

Passen alle Karten auf einmal, werden Pfeile/Punkte automatisch ausgeblendet und die Karten auf die volle Breite gestreckt.

Wie der Endlos-Modus funktioniert

Es werden keine Karten dupliziert – das HTML bleibt exakt so groß wie die Anzahl der Testimonials. Stattdessen werden die vorhandenen Karten im DOM rotiert (die erste ans Ende bzw. die letzte nach vorn) und die Scrollposition im selben Frame um genau eine Kartenbreite korrigiert. Das ist unsichtbar, funktioniert mit Pfeilen, Punkten, Autoplay, Tastatur und beim Wischen. Im Ruhezustand liegt immer eine Karte „Puffer“ links vom sichtbaren Bereich, damit man auch rückwärts wischen kann.

Im Endlos-Modus schaltet der Slider um jeweils eine Karte weiter (die Punkte zeigen dann die Karte ganz links). Im Rewind-Modus wird seitenweise geblättert (z. B. 3 Karten auf einmal).

Anpassen per CSS

Alle Farben/Größen sind CSS-Variablen auf dem Block (.wp-block-pts-testimonials): --pts-accent, --pts-border, --pts-border-w, --pts-quote, --pts-quote-size, --pts-card-bg, --pts-shadow, --pts-align, --pts-logo-bg, --pts-logo-h, --pts-logo-img-h, --pts-logo-pad, --pts-text, --pts-sub, --pts-sep, --pts-font-quote, --pts-lh, --pts-font-name, --pts-font-sub, --pts-pad-x, --pts-pad-y, --pts-min, --pts-gap, --pts-radius, --pts-nav-size, --pts-nav-bg, --pts-nav-color, --pts-nav-hover, --pts-dot-size, --pts-dot, --pts-dot-active.

Dateien

press-testimonials-slider/
├── press-testimonials-slider.php   Plugin-Header, Registrierung der Assets & Blöcke
├── assets/
│   ├── editor.js                   Editor (wp.element.createElement, kein JSX)
│   ├── editor.css                  Editor-Styles
│   ├── style.css                   Frontend + Editor Basis-Styles
│   └── view.js                     Slider-Logik im Frontend
└── blocks/
    ├── testimonials/               Eltern-Block „Testimonials Slider“ (block.json + render.php)
    └── testimonial/                Kind-Block „Testimonial“ (block.json + render.php)

Beide Blöcke werden serverseitig gerendert (render.php). Dadurch gibt es bei späteren Änderungen am HTML keine „Dieser Block enthält unerwarteten Inhalt“-Meldungen.