ChurchTools Events releasesself-updates
WordPress-Plugin: synchronisiert ChurchTools-Kalender-Events und zeigt sie per Shortcode/Gutenberg-Block/WPBakery an
by wirsindcgks · github.com/wirsindcgks/churchtools-plugin · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/wirsindcgks/churchtools-plugin/releases/download/v1.20.1/churchtools-plugin-v1.20.1.zipShips its own WordPress updater (Plugin Update Checker), so new versions show up under Dashboard → Updates.
Readme
ChurchTools Events
Holt die Termine ausgewählter ChurchTools-Kalender automatisch nach WordPress und zeigt sie dort in drei fertig gestalteten Ansichten an — als Liste, als Kachelraster oder als „Nächster Termin". Termine werden einmal in ChurchTools gepflegt und erscheinen auf der Website von selbst.
- Automatischer Abgleich per WP-Cron; Intervall und Vorlaufzeitraum einstellbar. Terminserien („jeden Montag") kommen als einzelne Termine an, abgesagte verschwinden wieder.
- Drei Ansichten, einbindbar als Shortcode, Gutenberg-Block oder WPBakery-Element.
- Finden statt scrollen: Kalenderfilter, Suche, Monatstrenner und der geführte Eventfinder („Welche Angebote sprechen dich an?").
- Bilder in der Größe, in der sie angezeigt werden: eigene Bildbreiten plus
srcset, WebP beim Import, ein Bild je Terminserie statt je Termin. - Termindetails wahlweise als Popup oder als eigene Termin-Seite, auf Wunsch mit „Teilen"- und „Importieren"-Button — teilen über das Teilen-Menü des Geräts bzw. die Zwischenablage, importieren als Kalenderdatei für Handy, Outlook und Thunderbird, bei einer Terminserie auf Wunsch gleich alle Termine. Ohne Drittanbieter-Skript und ohne Zählpixel.
- Auffindbar für Suchmaschinen: jeder Termin mit eigener Adresse, strukturierten Daten (schema.org/Event), eigener Sitemap und passenden Angaben für die Vorschau beim Teilen — verträglich mit Yoast SEO und Rank Math.
- Aussehen einstellbar im Backend, mit Live-Vorschau — ohne CSS anfassen zu müssen.
- Bilder werden importiert statt von ChurchTools nachgeladen: Besucher laden nichts von der ChurchTools-Domain.
- Updates kommen wie bei jedem anderen Plugin über die WordPress-Plugin-Übersicht.
Voraussetzungen: WordPress ab 6.4, PHP ab 8.1, eine ChurchTools-Instanz und ein API-Key dafür.
So sieht das aus
Alle Bilder zeigen erfundene Beispieltermine mit Platzhalterbildern.
Liste — kompakte Zeilen mit Datums-Chip, Kategorie, Titel, Zeit und Ort; mit month_dividers="1" nach Monaten gruppiert.

Kachelraster — Bild, Datums-Badge und ein kurzer Auszug, Spaltenzahl einstellbar. Termine ohne eigenes Bild bekommen eine Fläche in der Farbe ihres Kalenders.

Nächster Termin — eine große Kachel für den nächsten Termin, darunter die folgenden in Kurzform.

Eventfinder — geführter Einstieg statt Dropdown: ein Button je Thema in der Farbe des Kalenders, dazu Zeitraum und Suche. Geht ein Zeitraum leer aus („Diesen Monat" am Monatsende), stehen die nächsten Termine danach darunter statt einer leeren Liste.

Termindetails — als Popup auf derselben Seite (im Bild) oder als eigene Termin-URL.

Teilen — der „Teilen"-Button steht unter dem Termin, im Popup rechts unter der Beschreibung. Auf dem Telefon öffnet er das Teilen-Menü des Geräts, am Rechner legt er die Adresse des Termins in die Zwischenablage und meldet „Link kopiert". Er ist standardmäßig aus; eingeschaltet wird er im Design-Tab im Bereich Detailansicht unter Aufbau der Detailansicht, wo er sich auch frei platzieren lässt wie jedes andere Feld.

Auf der eigenen Terminseite steht er unter der vollen Breite, linksbündig an der Textkante — hier mit der Rückmeldung nach einem Klick am Rechner.
Daneben lässt sich ein „Importieren"-Button einschalten: Er legt den Termin als Kalenderdatei ab, die Handy, Outlook und Thunderbird direkt öffnen — mit Titel, Zeit, Ort, Beschreibung, Kategorie und Bild. Gehört der Termin zu einer Serie, fragt der Button nach dem Klick, was in die Datei soll — „Nur dieser Termin" oder „Alle N Termine". Die Zahl steht dort, weil „ganze Serie" mehr verspräche, als sich halten lässt: Gezählt wird über den Basistermin aus ChurchTools, und ein dort einzeln nachbearbeitetes Datum zählt als eigener. Bei einem Einzeltermin entfällt die Rückfrage.
Die Datei ist eine Momentaufnahme: Ändert sich der Termin später, erfährt der Kalender davon nichts; wer sie erneut herunterlädt, aktualisiert seinen Eintrag aber, statt einen zweiten anzulegen. Beide Knöpfe sind einzeln schaltbar und stehen als Paar nebeneinander.

Installation
- Unter Releases beim neuesten Eintrag die Datei
churchtools-plugin-vX.Y.Z.zipherunterladen. Nicht „Source code (zip)" — darin fehlen die fertig gebauten Bestandteile, das Plugin läuft damit nicht. - In WordPress unter Plugins → Installieren → Plugin hochladen die ZIP-Datei auswählen und installieren.
- Plugin aktivieren. Im linken Menü erscheint der Punkt ChurchTools.
Ab dann meldet sich das Plugin selbst, wenn es eine neue Version gibt — die Aktualisierung läuft über die normale Plugin-Übersicht.
Einrichten in fünf Minuten
-
Verbindung herstellen. ChurchTools → Verbindung: den Instanz-Namen eintragen — bei
https://musterkirche.church.toolsalsomusterkirche— und den API-Key hinterlegen. Der Key ist ein Login-Token aus ChurchTools; welche Kalender das Plugin sieht, hängt an den Rechten des zugehörigen Zugangs. Ein Klick auf Verbindung testen prüft beides sofort, auch ungespeichert. -
Kalender auswählen. ChurchTools → Kalender: Kalender von ChurchTools laden, dann die gewünschten anhaken. Optional je Kalender eine Farbe (taucht im Frontend als Kategorie-Auszeichnung wieder auf) und ein Standardbild für Termine ohne eigenes Bild.
-
Erstmals abgleichen. ChurchTools → Übersicht: Jetzt synchronisieren. Danach übernimmt WP-Cron im eingestellten Intervall.
-
Termine einbauen. Auf einer Seite den Block „ChurchTools Events" einfügen (oder das WPBakery-Element bzw. den Shortcode, siehe unten).
-
Aussehen anpassen. ChurchTools → Design, aufgeteilt in vier Bereiche: Stil (eine von vier Vorlagen als Grundlage — Standard, Ruhig, Warm, Strukturiert —, Eckenstil, Akzent- und Buttonfarbe), Kachel (Reihenfolge und Sichtbarkeit der Angaben, Bild-Seitenverhältnis), Detailansicht (Klickverhalten, Adresse, Teilen- und Importieren-Button, Reihenfolge) und Listen (Zeitraum pro Seite). Stil, Kachel und Detailansicht haben ihre Vorschau daneben. Die Einzeleinstellungen gelten über der Vorlage: Wer „Eckig“ wählt, bekommt eckige Ecken auch in einer Vorlage mit runden.
-
Wenn Termine eine eigene Seite bekommen sollen. Im Bereich Detailansicht bei Bei Klick auf eine Kachel „Eigene Seite“ wählen und darunter unter Adresse der Terminseite eine bestehende Seite auswählen — meist die, auf der die Terminliste steht. Die Termine liegen dann unter deren Adresse (
/termine/gottesdienst-06-09-2026/) und werden als Inhalt dieser Seite ausgeliefert, also mit der Vorlage, dem Kopf- und dem Fußbereich des Theme. Ohne ausgewählte Seite funktioniert alles weiter, die Adresse ist dann/churchtools-termin/4021/und die Seite steht neben statt in der Vorlage des Theme.
Läuft etwas nicht, steht der Grund auf der Übersichtsseite: Sie zeigt den letzten Abgleich, die Zahl gespeicherter Termine und Fehler im Klartext.
Termine auf einer Seite anzeigen
Alle drei Wege benutzen denselben Unterbau und können dasselbe:
- Gutenberg-Block — Block „ChurchTools Events" einfügen, alles Weitere in der Seitenleiste rechts.
- WPBakery — Element „ChurchTools Events" aus der Kategorie „ChurchTools".
- Shortcode — für Theme-Dateien, Widgets und alles andere.
Beispiele
Startseite: der nächste Termin, groß, mit drei weiteren darunter
[ctp_events layout="upcoming" limit="4"]
Terminseite: alle Kalender mit geführter Suche und Monatsüberschriften
[ctp_events layout="list" eventfinder="1" month_dividers="1"]
Nur die Gottesdienste als Kachelraster, drei Spalten
[ctp_events calendar="Gottesdienste" layout="grid" columns="3"]
Teaser in der Seitenleiste: drei Termine, ohne Nachladen-Button
[ctp_events layout="list" limit="3" paging="0"]
Zwei Kalender, Auswahl per Dropdown und Suchfeld
[ctp_events calendar="Gottesdienste,Jugend" layout="list" filter="1" search="1"]
Welche Kalender-Namen und -IDs zur Verfügung stehen, zeigt der Tab Kalender. Im Tab Einbinden stehen dieselben Beispiele noch einmal — dort mit einem echten Kalender aus der eigenen Instanz eingesetzt, fertig zum Kopieren, samt Tabelle aller Optionen.
Die wichtigsten Optionen
| Option | Wirkung |
|---|---|
calendar |
Kalender-IDs und/oder -Namen, kommagetrennt. Leer = alle aktiven |
layout |
list (Standard), grid oder upcoming |
columns |
Spalten bei grid, 2–6 (Standard 3); auf schmalen Bildschirmen automatisch weniger |
limit |
Obergrenze; bei upcoming die Gesamtzahl inklusive der großen Kachel |
eventfinder |
Geführte Leiste mit Themen- und Zeitraum-Knöpfen |
filter / search |
Kalender-Dropdown bzw. Suchfeld (die einfache Variante des Eventfinders) |
month_dividers |
Termine nach Monaten gruppieren |
months / paging |
Länge eines Zeitraums bzw. der „Weitere Termine laden"-Button |
click |
Was ein Klick auf eine Kachel tut: popup, page oder none |
Die vollständige Referenz mit allen Standardwerten und Feinheiten steht in readme.txt — im Backend unter Plugins → ChurchTools Events → Details im Reiter Verwendung dieselbe.
Gut zu wissen
Es wird nicht alles auf einmal geladen. Liste und Grid zeigen zunächst den laufenden und den nächsten Monat; „Weitere Termine laden" hängt die folgenden an, ohne die Seite neu zu laden. Das hält die Seite schnell, auch bei vielen wöchentlichen Serien. Abschaltbar mit paging="0".
Filter und Suche laufen im Browser und funktionieren deshalb auch hinter einem Caching-Plugin. Was jenseits des geladenen Zeitraums liegt, holt das Plugin bei Bedarf nach.
Ein Caching-Plugin braucht eine Ausnahme. Zusammengefasstes JavaScript („Minify“/„Combine“) sollte assets/js/frontend.js und assets/css/frontend.css auslassen. Das Plugin hängt seine Versionsnummer an beide Adressen, ein Update erneuert sie damit von selbst; in einer zusammengefassten Datei entfällt dieser Mechanismus, und wiederkehrende Besucher können nach einem Update noch tagelang das alte Skript benutzen. Dasselbe gilt für „JavaScript erst bei der ersten Interaktion laden“ – diese erste Interaktion ist der Klick auf einen Termin. Näheres im FAQ-Teil der readme.txt.
Die Adresse eines Termins besteht aus Titel und Datum (gottesdienst-06-09-2026), nicht aus einer Nummer und nicht aus dem Titel allein: „Gottesdienst" gibt es jedes Wochenende, ein Titel benennt also eine Serie und nicht einen Termin. Ändert sich der Titel in ChurchTools, ändert sich die Adresse mit. Wird die Elternseite nachträglich gesetzt, leiten die bisherigen Adressen dauerhaft auf die neuen weiter.
Alte Termine räumen sich selbst weg, samt importierter Bilder, nach der im Tab Synchronisation eingestellten Frist.
Ein eigenes Layout ist möglich, aber selten nötig: Die Templates aus includes/Frontend/templates/ lassen sich nach wp-content/themes/euer-theme/churchtools-plugin/ kopieren und dort anpassen — updatesicher. Details dazu in readme.txt.
Grenzen: eine ChurchTools-Instanz pro WordPress-Installation, Multisite ungetestet, kein Monatskalender-Raster. Der API-Key ist an die WordPress-Salts (AUTH_KEY) gebunden — nach einem Serverumzug mit neuen Salts muss er einmal neu eingegeben werden; das Plugin sagt das im Backend.
Fragen und Antworten
Antworten zu Sync-Intervall und WP-Cron, deaktivierten Kalendern, Serverumzügen und Datenschutz stehen im FAQ-Teil der readme.txt — im Backend bequemer zu lesen unter Plugins → ChurchTools Events → Details.
Ein Problem gefunden oder etwas vermisst? Issues im Repository.
Für Entwickler
Aufbau, Klassen, Theme-Overrides, lokale Entwicklung und der Release-Ablauf: docs/ARCHITECTURE.md. Alle nennenswerten Änderungen stehen im Changelog.
Lizenz
GPL-2.0-or-later, siehe LICENSE.
Read the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| v1.20.1 | Sep 8, 2026 | churchtools-plugin-v1.20.1.zip | 2 |
| v1.20.0 | Sep 8, 2026 | churchtools-plugin-v1.20.0.zip | 2 |
| v1.19.0 | Sep 8, 2026 | churchtools-plugin-v1.19.0.zip | 2 |
| v1.18.0 | Sep 7, 2026 | churchtools-plugin-v1.18.0.zip | 1 |
| v1.17.3 | Sep 7, 2026 | churchtools-plugin-v1.17.3.zip | 2 |
| v1.17.2 | Sep 7, 2026 | churchtools-plugin-v1.17.2.zip | 2 |
| v1.17.1 | Sep 7, 2026 | churchtools-plugin-v1.17.1.zip | 4 |
| v1.17.0 | Sep 7, 2026 | churchtools-plugin-v1.17.0.zip | 2 |
| v1.16.0 | Sep 3, 2026 | churchtools-plugin-v1.16.0.zip | 3 |
| v1.15.0 | Sep 2, 2026 | churchtools-plugin-v1.15.0.zip | 2 |
| v1.14.0 | Sep 2, 2026 | churchtools-plugin-v1.14.0.zip | 1 |
| v1.13.1 | Sep 2, 2026 | churchtools-plugin-v1.13.1.zip | 0 |
| v1.13.0 | Sep 2, 2026 | churchtools-plugin-v1.13.0.zip | 0 |
| v1.12.0 | Sep 2, 2026 | churchtools-plugin-v1.12.0.zip | 0 |
| v1.11.0 | Sep 2, 2026 | churchtools-plugin-v1.11.0.zip | 0 |
| v1.10.0 | Sep 1, 2026 | churchtools-plugin-v1.10.0.zip | 1 |
| v1.9.0 | Sep 1, 2026 | churchtools-plugin-v1.9.0.zip | 2 |
| v1.8.0 | Sep 1, 2026 | churchtools-plugin-v1.8.0.zip | 2 |
| v1.7.2 | Aug 30, 2026 | churchtools-plugin-v1.7.2.zip | 1 |
| v1.7.1 | Aug 30, 2026 | churchtools-plugin-v1.7.1.zip | 1 |
| v1.7.0 | Aug 30, 2026 | churchtools-plugin-v1.7.0.zip | 1 |
| v1.6.0 | Aug 30, 2026 | churchtools-plugin-v1.6.0.zip | 0 |
| v1.5.2 | Aug 30, 2026 | churchtools-plugin-v1.5.2.zip | 1 |
| v1.5.1 | Aug 30, 2026 | churchtools-plugin-v1.5.1.zip | 1 |
| v1.5.0 | Aug 30, 2026 | churchtools-plugin-v1.5.0.zip | 0 |