ChurchTools Plugin für Wordpress
-
Hi Zusammen,
ich hab die letzten Tage mein Wordpress Plugin mit ChurchTools-Integration nochmal komplett überarbeitet. Für alle die ein aktuelles Wordpress (> Version 6.5) und PHP > 8.0 verwenden, könnte das eine interessante Hilfe sein.
Das ganze ist als Gutenberg-Plugin geschrieben und hat im wesentlichen 5 Features:
- Termine auf der Webseite formatieren und einbinden
-
Gruppenhomepage direkt einbinden (ohne iFrame gedönz und mit direkter Erkennung für Google-Suchmaschinen ...) - z.B. so:
-
Newsletter An- und Abmeldung (auch für Leute ohne ChurchTools Zugang.)
Anstatt den Leuten zu erklären, was "ChurchTools Gruppenmitglieder" sind, können sie sich auf der Homepage ziemlich simpel und Datenschutzkonform (über E-Mail Validierung) für ausgewählte Newsletter an- und abmelden. Im Hintergrund werden sie dann über die API direkt zu einer ChurchTools Gruppe hinzugefügt oder davon entfernt. So sparen wir uns eine separate Newsletterverwaltung und haben alles an einem zentralen Ort.) - Das sieht dann auf der Homepage z.B. so aus:
-
Countdown (Termine aus dem ChurchTools Kalender filtern (mit regulären Ausdrücken) und als Countdown auf der Homepage einbinden. Z.B. so:
-
Meta-Daten (für Google-Suchmaschinen) aus dem Church-Tools Kalender im Hintergrund aufbereiten und auf der Homepage einbinden, so dass aktuelle Veranstaltungen, Gruppen und Termine direkt von Suchmaschinen gefunden und angezeigt werden können.
Zur Nutzung des Plugins wird in ChurchTools ein eigener API-Benutzer angelegt und mit den entsprechenden Rechten versehen. Im Backend von Wordpress wird dieser Nutzer unter Einstellungen eingerichtet. Über die API werden die Daten dann im Hintergrund geladen (teilweise gecached), gefiltert, verarbeitet und auf der Homepage angezeigt.
Für mich kommt damit das Beste aus beiden Welten zusammen:
- Pflege der Inhalte, Gruppen, Termine, Veranstaltungen usw. bleibt ganz bei ChurchTools.
- Unsere Mitarbeiter brauchen keinen eigenen Zugang zu Wordpress.
Und trotzdem werden alle Inhalte zielgruppenorientiert, annähernd in Echtzeit und vollautomatisch auf unserer Homepage für die Öffentlichkeit aufbereitet. - In gewohnter Wordpress Manier kann ich die Inhalte anpassen und für mich passend stylen, so dass sie in das Gesamtbild meiner Homepage passen.
- Die Inhalte können in Form von Wordpress-Blöcken an fast jeder Stelle im Frontend eingebettet und ausgiebig konfiguriert werden. Hier am Beispiel des Countdowns:
Falls jemand Freude daran hat das Plugin zu testen oder es für seine Homepage gebrauchen kann, darf er es gerne bei sich einsetzen. Hier herunterladen und die ZIP-Datei als Plugin bei Wordpress wieder hochladen: https://plugins.sv-schoenaich.de/?action=download&slug=sb-churchtools-grouphomepage
Es ist weitestgehend für Deutsch und Englisch lokalisiert. Sollte jemand das ganze in eine anderen Sprache übersetzen wollen, melde dich gerne bei mir. Das ist ziemlich einfach möglich.
Soli deo gloria
- Termine auf der Webseite formatieren und einbinden
-
@skipy wow, das ist ja ein ziemlich geniales Plugin. Da steckt sicher eine Menge Arbeit drin. Vielen Dank dafür und auch, dass wir es mit nutzen dürfen.
Wir werden es bei uns mal testen.Gibt es eine Demo Seite, oder eine andere Seite, wo man es sich mal anschauen kann?
-
@Andrej Demo nicht wirklich - aber du findest fast alle Teile davon auf unserer Homepage: https://sv-schoenaich.de
-
@skipy alles klar. Danke. Werde es mir mal anschauen
-
@skipy wow, das ist ja ein ziemlich geniales Plugin. Da steckt sicher eine Menge Arbeit drin. Vielen Dank dafür und auch, dass wir es mit nutzen dürfen.
Wir werden es bei uns mal testen.Dem schließe ich mich zu 100% an. Mega, vielen Dank!
-
Starke Leistung @skipy
Das sieht auf eurer Seite echt gut aus. Eine Sache ist mir aufgefallen beim Kalender:
Wenn man auf den Button klickt wird die .ics Datei runtergeladen. Das ist allerdings kein Abo, sondern ein Snapshot. Wenn man die Termine im eigenen Kalender hinzufügt, werden diese nicht aktualisiert.
Empfehlung: Ändere das Protokoll vom Link. Also statt https:// verwende webcal:// - So wird die Kalender-App direkt geöffnet und als Abo eingetragen.
-
@hbuerger Danke dir - da hast du absolut recht
-
Hallo zusammen,
ich kann leider nicht herausfinden wie man einen richtigen API-Benutzer anlegt.
Könnte man da eventuell eine kurze Anleitung bereitstellen?
Vielen Dank im vorraus.
-
@N0rmalik API Benutzer sind ganz normale Benutzer in CT, die aber keiner Person zugeordnet sind. Du kannst theoretisch auch deinen eigenen persönlichen Nutzer nehmen, würde das aus Sicherheitsaspekten aber nicht empfehlen.
D.h.:
- Neuen Nutzer anlegen: z.B. mit Name "Wordpress Nutzer"
- Login Token von dem Nutzer holen
- in WP einpflegen
- Plugin testen
So müsste es in etwa funktionieren, ohne das ich das Plugin getestet habe
-
@N0rmalik
Ich hab dir eine kleine Detail-Anleitung geschrieben. Probier mal, ob du damit zurecht kommst und melde dich gerne, wenn ich etwas besser erklären kann.
-
Hey, vielen Dank für die starke Arbeit...
Hab da aber ne Frage: Wie rufe ich die Module/Blöcke ab?
Das Plugin is bei mir aktiv, aber in meinem Theme hab ich nichts gefunden.... Muss ich da nen bestimmten Code jeweils als Code-Block eingeben?Die Beiträge direkt (ohne iframe) einzubinden wäre auch noch ne Idee...
LG und Segen
Max
-
@MaxStro Die Blöcke sollten mit dem Gutenberg-Editor (Standard bei aktuellen Wordpressinstalationen) zu finden sein. Wenn du ChurchTools eingibst oder ganz nach unten in der Liste der verfügbaren Blöcke scrollst. Wenn du ein Caching-Plugin nutzt, musst du ggf. einmal den Cache resetten löschen.
Lass mich wissen, ob es geklappt hat. -
@skipy Hey, danke. Hab es gefunden.
Gibt es auch die Möglichkeit alle anstehenden Termine (d.H. aus mehreren Kalendern) anzeigen zu lassen?
-
@MaxStro Ja über die Appointment-List
Du kannst dir einfach zusammenkonfigurierten, welche Kalender angezeigt werden sollen:
-
Hi @skipy vielen Dank Dir! Und großartig, dass es hier eine Verknüpfung zu WordPress gibt! Habe das PlugIn bei uns installiert. Gibt es auch einen Parameter für Bilder von Events?
-
@saschagrether Bisher noch nicht.
Ich nutze intern den ics Kalender um die Termine von ChurchTools herunterzuladen und anzuzeigen. Ich hatte mich ICS entschieden, weil das vermutlich das gängigste Format ist um Termine auszutauschen.
Ich hab mir das gerade in in ChurchTools nochmal angeschaut. Tatsächlich ist in der ICS-Datei auch das mit dem Kalender-Event verknüpfte Bild in einer kleinen quadratischen Auflösung verlinkt. Somit ließe sich das relativ einfach einbauen.
@saschagrether Hast du einen Design-Vorschlag, wie man das ganze auf der Homepage einbetten könnte?
-
@skipy Ja, das Bild ist im iCal vorhanden. Das kleine quadartische Bild ist allerdings nur die automatische Vorschau. Du kannst über die URL das Format auch ganz einfach anpassen.
Bsp: Thumbnail: https://testhanshelge.church.tools/images/2840/f28f49a335e4c0512df00929806dfa5deaf13e7679dd2ef9ffa4c3492276d657
Selbes Bild aber 500px x 200px
https://testhanshelge.church.tools/images/2840/f28f49a335e4c0512df00929806dfa5deaf13e7679dd2ef9ffa4c3492276d657?h=500&w=200Über die GET-Parameter kannst du einfach ein eigenes Format mitgeben. CT schneidet das Bild zurecht.
-
@saschagrether Ich habe die Bilddarstellung in die normale Ansicht für Termine integriert und noch eine zweite Ansicht erstellt, die den Fokus stärker auf das Bild legt.
@hbuerger Danke für den Hinweis.
Gibt es zu der Bild-API auch weitere Parameter / eine Dokumentation? -
@skipy wir verwenden hier die Bibliothek Glide dort gibt es noch mehr Optionen.
Disclaimer: Wir haben diese Bibliothek gewählt vor allem für die eigene Nutzung, um Bilder z.B. auf der öffentlichen Gruppenhomepage besser darzustellen. Viele Optionen wie etwa blur, filter, pixel, sind zwar möglich, aber von uns erstmal nicht vorgesehen. Daher zur Info: Es ist jetzt einiges Möglich, aber das heißt nicht, dass es immer möglich sein wird. Daher sind das keine supporten Dinge.
-
@skipy Hallo,
erst einmal: Sehr schönes Plugin. Vielen Dank!Da ich bei CT noch neu bin habe ich eine Frage, die vielleicht aus dem Bereich Newbie kommt - aber egal.
Bei mir wird bei der Kalenderauswahl im Plugin immer nur der Gottesdienstkalender (Gemeindekalender) angezeigt. Egal wie ich in CT die Kalender konfiguriere - hier ändert sich nichts. Egal, ob ich andere Kalender als Gruppenkalender oder als Gemeidnekalender konfiguriere. Und ja: Mein API-Nutzer hat Lesezugriff auf alle Kalender. Hast Du da ne Idee zu, was ich noch versuchen kann?
Danke Dir auf jeden Fall schon mal!